杭州做网站怎么收费,炫酷的动画网站,网络怎么设计,做系统简单还是网站简单Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务
之前是通过jar包在shell服务器上进行手动部署#xff0c;麻烦且耗时。现通过Jenkins进行持续集成实现CI/CD。以test分支为例 提交即部署。 由于是根据自己实际使用过程 具体使用到了
gitlabjenkinsdockerharborra…Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务
之前是通过jar包在shell服务器上进行手动部署麻烦且耗时。现通过Jenkins进行持续集成实现CI/CD。以test分支为例 提交即部署。 由于是根据自己实际使用过程 具体使用到了
gitlabjenkinsdockerharborrancherk8s 集成流程
拉取git仓库并指定分支并切换对应分支现test分支对代码依赖进行检查并实现maven引入对项目进行打包执行Dockerfile提交Docker镜像到Harbor通知Rancher对项目进行更新CI/CD 完成
集成实现
Jenkins项目配置 创建jenkins项目 新建项目 选择 New Item
填写配置信息 以-backend 标识它是这个项目的后端选择Freestyle project选项 配置注释 填写 Description项目的描述尽可能的详细方便维护 点击 Advanced 配置Use custom workspace该配置路径为服务器存放后端项目的路径 拉取git地址 配置GitLab项目地址。注意 该地址必须是 .git 结尾的 url为项目的git地址及选择的git用户 配置拉取git分支 这里配置的是test分支 开启WebHook 勾选Build when a change is pushed to GitLab … 复制自己项目的webhook URL http://...:8080/project/flow-population-register-backend 会出现如下界面 点击 Advanced 进行详细配置 配置分支 点击上述的Advanced 点击Allowed branches下的Filter branches by regex进行选择监听的分支正则匹配 .*test 分支并点击Generate生成Secret token的token取消默认选择Allow all branches to trigger this job。
配置密钥 点击 Generate 生成 SecretToken 配置脚本 选择 Build 选Add buile step中的Execute shell
点击 Execute Shell 来执行Shell脚本 注意如果harbor中无项目这里要去harbor中添加项目需要的存储位置
编写指令 填入你要执行的Shell指令 由于服务需要停止、再启动 可以先kill掉服务 再 java -jar 执行 目前流程是在后续操作中 将其打包为Docker 再根据流程推送至K8s集群中
mvn clean package
export IMAGE_NAMEharbor地址
docker rmi $IMAGE_NAME || true
docker build -t $IMAGE_NAME .
docker push $IMAGE_NAME如果持续集成到rancher上需要再写一个shell脚本并将rancher上api地址写入 保存项目 点击底部的 Save 先去测试配置是否生效 GitLab项目配置 打开GitLab项目 - 选择 Settings - 选择 Integrations/Webhooks
配置Webhook 填写URL为刚才Jenkins的Webhook地址 填写SecretToken为Jenkins中按钮生成的秘钥 点击 Add webhook 点击save添加webhook 测试通知 点击 Test 选择 Push Events 点击 查看GitLab是否可以正常通过WebHook通知Jenkins 如果是如下的HTTP 200这时GitLab现在已经可以正常通知Jenkins了 此时向GitLab中的项目的test分支提交代码 将会发出WebHook来触发Jenkins 完成Shell中的命令 这样就完成了基础的CI/CD。
Rancher配置 登录Rancher 添加Deploy添加项目
根据项目添加需要的配置信息 其中
Name可以自己随便写WorkloadType Scalable是指可动态伸缩的 这里启动了2个服务Docker Images 是镜像的地址Port Mapping 需要暴露8080内部端口publish the container port到外部随机端口on listening port
启动服务