gitlab自动化部署CI案例
2023-09-14 09:00:34 时间
参考:
https://blog.csdn.net/hxpjava1/article/details/78514999 (简单操作)
https://blog.csdn.net/wh211212/article/details/72627803 (详细操作)
https://www.cnblogs.com/cnundefined/p/7095368.html (gitlab、gitlab-CI、runner的关系)
1、工程代码准备:
gitlab上新建root3组,新建print123工程,工程根目录下配置yml文件.gitlab-ci.yml
gitlab上新建gitlab-runner账号,建立和服务器的ssh免密登录。
2、yml文件(gitlab代码上):
stages: - deploy deploy: stage: deploy script: - deploy root3 print123 only: - master tags: - shell
3、在bin文件夹中定义deploy脚本文件(Linux上):解释:https://www.jianshu.com/p/df433633816b
#!/bin/bash if [ $# -ne 2 ] then echo "arguments error!" exit 1 else deploy_path="/var/www/$1/$2" if [ ! -d "$deploy_path" ] then project_path="git@10.2.3.4:"$1/$2".git" git clone $project_path $deploy_path else cd $deploy_path git pull fi fi
4、runner注册:
gitlab-ci-multi-runner register # 注册一个新的runner
延伸:
gitlab-ci-multi-runner status
gitlab-ci-multi-runner stop
gitlab-ci-multi-runner start
gitlab-ci-multi-runner verify # 查看所有runner
gitlab-ci-multi-runner list # 查看所有runner
gitlab-runner verify --delete # 删除无效的runner
注册用到内容:
http://10.2.3.4:8881/ # 在gitlab上查询 Juyx-L5433amkQKSo2XQ # 在gitlab上查询 deploy_description5 shell # tags要和yml文件中的tags保持一致 true 回车
5、修改print123中的文件,push提交,在gitlab的pipeline中观察是否pass
相关文章
- Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
- [虚拟化]Proxmox VE+ceph+物理网络超融合生产环境部署案例
- iOS开发那些事-平铺导航–基于分屏导航及案例实现
- 流式计算框架Storm 编程案例部署Linux结果演示及pom依赖
- ML之KG:基于自定义电影矩阵+知识图谱矩阵数据集利用基于知识图谱的推荐算法(基于匹配的相似度的方法)实现对用户进行Top电影推荐案例
- DL之BN-Inception:BN-Inception算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- Python获取命令行参数的正确方法,案例详解
- GUI编程中的tkinter简单案例实操(由易到难)
- Scratch3.0——助力新进程序员理解程序(难度案例三、五子棋双人对战-电脑需要AI写不出来)
- a32.ansible 生产实战案例 -- 基于kubeadm安装kubernetes v1.22 -- 集群部署(一)
- a25.ansible 生产实战案例 -- 基于二进制包安装kubernetes v1.20 -- 集群部署(一)
- a24.ansible 生产实战案例 -- 基于kubeadm安装kubernetes v1.20 -- 集群部署(一)
- 基于新版OpenCV5(C++)+OpenVINO Toolkit案例算法模型示例使用(一条语义分割与目标检测示例搞懂OpenVINO模型部署机制)
- 第37讲:Python if-elif-else流程控制语句核心概念以及案例演示
- 综合案例:利用ansible常用七种模块实现备份系统的部署及告警(十一)