以前公司里用到过k8s当时接触感觉一头雾水,很多不概念都没听过;
后来公司自己投入了大量人力及时间搞了一套cicd系统,效果不是很好,最近发现kubesphere很强大,产生了很多好奇心,于是就想用个人网站来练练手
为了玩这个东西还额外买了条16G的内存,加上原来的8G内存勉强玩起来了,真的是好吃内存,不然就去阿里云上玩玩,太费钱了;
大概流程就是上图那样,因为在本地开发,只做了个简单的流程,让他能自动部署并访问当前项目即可;
题外话:玩这个东西真的感觉php落魄了,这些东西很多都是基于java,go等体系做的,特别是java,可惜当年没有选择java,后面有空还是得好好学习;
上面那个图最终生成的是一个jenkins配置文件,内容如下:
第一步:
基于base容器从gitee上拉master分支代码,credentialsId变量保存的是gitee登录的帐号及密码,注意拉的时候选https方式,不然的话还得配ssh公钥,比较麻烦
第二步:
基于base容器,登录阿里云镜像仓库,拉取镜像,然后根据laravel项目根目录中的Dockfile文件构建镜像,并推送到阿里云;
第三步,部署到开发环境:
kubeconfigId与KUBECONFIG_CREDENTIAL_ID 的值配置成一样,这是kubeSphere前端界面中的一个kubernetesDeploy组件,/deploy/dev/**对应laravel项目/deploy/dev目录,存放的是做好的k8s deployment文件(yaml格式)
pipeline {
agent {
node {
label 'base'
}
}
stages {
stage('拉代码') {
agent none
steps {
container('base') {
git(url: 'https://gitee.com/hu_rong/hurong_www.git', credentialsId: 'gitee', changelog: true, poll: false, branch: 'master')
sh 'ls -alh'
}
}
}
stage('pull & build & push') {
agent none
steps {
container('base') {
sh '''docker login --username=hurong24109 -p=阿里镜像加速的密码 registry.cn-shanghai.aliyuncs.com
docker pull registry.cn-shanghai.aliyuncs.com/hu-rong/com:php7.4.15-cli-swoole4.6.3-tools
ls -alh
docker build -t registry.cn-shanghai.aliyuncs.com/hu-rong/com:laravel-hurong .
docker image list
docker push registry.cn-shanghai.aliyuncs.com/hu-rong/com:laravel-hurong'''
}
}
}
stage('deploy to dev') {
agent none
steps {
container('base') {
kubernetesDeploy(enableConfigSubstitution: true, deleteResource: false, kubeconfigId: 'hurong-laravel', configs: '/deploy/dev/**')
}
}
}
}
environment {
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
GITHUB_CREDENTIAL_ID = 'github-id'
KUBECONFIG_CREDENTIAL_ID = 'hurong-laravel'
REGISTRY = 'docker.io'
DOCKERHUB_NAMESPACE = 'docker_username'
GITHUB_ACCOUNT = 'kubesphere'
APP_NAME = 'devops-java-sample'
}
parameters {
string(name: 'TAG_NAME', defaultValue: '', description: '')
}
}
- 相关文章
- 虚拟机环境搭建及各种坑及前期准备
- kubernetes集群环境搭建-公共操作
- 主节点及node节点配置
- 名称空间namespace
- kubernetes-pod
- kubernetes-deployment
- kubernetes-service
- kubernetes-ingress
- kubernetes-存储抽象pv&pvc
- kubernetes-ConfigMap
- 热门文章
- win7中将文件拷贝到虚拟机linux下
- phpexcel设置行高及列宽,背景颜色,
- rabbitmq无法启动
- intellij idea不显示git push按钮
- php7中使用mongodb的aggregate进行
- laravel页面静态化的方法
- centos7.4 64位下swoole安装及配置
- navicate连接mycat报1184错误
- curl设置超时不起作用(CURLOPT_TIM
- devops-jenkins容器为pending状态
- 好评文章
- phpexcel设置行高及列宽,背景颜色,
- php7中使用mongodb的aggregate进行
- intellij idea打开文件所在文件夹
- windows下使用MongoDB Compass Com
- win7中将文件拷贝到虚拟机linux下
- laravel 中悲观锁 & 乐观锁的使用
- 单点登录sso原理及php实现方式及de
- navicate连接mycat报1184错误
- rabbitmq无法启动
- laravel整合dingo/api方法步骤:jwt
- 我的项目
- 【github】www.github.com/hurong241
- 【码云】gitee.com/hu_rong/projects
- 【docker hub】hub.docker.com/repositories/hurong241
- 【packagist】packagist.org/users/hurong241/packages
- 站点信息
- 建站时间:2011年
- 文章数:623篇
- 浏览数:1357698