千家信息网

怎么用Gitlab-CI持续部署到远程机器

发表于:2024-09-25 作者:千家信息网编辑
千家信息网最后更新 2024年09月25日,本篇内容介绍了"怎么用Gitlab-CI持续部署到远程机器"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2024年09月25日怎么用Gitlab-CI持续部署到远程机器

本篇内容介绍了"怎么用Gitlab-CI持续部署到远程机器"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!


SSH免密登陆

还是那句:CI/CD实质是将我们手动集成、拷贝部署的方式脚本化,远程部署的重要姿势是要求免密操控

受控机器上的某个账户信任 CI机器上gitlab-runner账户。

  1. 先执行 su gitlab-runner切换到 gitlab-runner账户
  2. 在你的CI机器(主控端)上使用 ssh-keygen命令创建公钥,使用 ssh-keygen -t rsa来创建,程序会问你存放目录,如果不需要修改,直接回车几次即可
  3. 将~/.ssh目录下 id_rsa.pub文件拷贝到受控机器的 ~/.ssh目录中,然后将文件内容导入到 ~/.ssh/authorized_keys文件
主控方:
scp /home/gitlab-runner/.ssh/id_rsa.pub ****@10.202.42.252:/home/***/.ssh/
受控方:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  1. 在受控方机器设置权限:
    ~/.ssh权限设置为700; ~/.ssh/authorized_keys权限设置为600

之后在主控CI机器 就具备免密登陆 远程机器的能力。

如何持续部署?

利用镜像tag持续部署: gitlab项目只要打出tag--> 执行构建镜像Job(以此次git tag为镜像tag)-->执行部署Job,拿到git tag-->部署该tag镜像

  • CI_COMMIT_REF_NAME变量得到 The branch or tag name for which project is built
  • 在docker-compose.yml里设置 image: ${DOCKER_REGISTRY}/eap/eap-front-end:${TAG},可感知部署时插入的tag变量
build_image:Front-end:
stage: build_image
script:
- docker build -t $DOCKER_REGISTRY_HOST/eap/eap-front-end:$CI_COMMIT_REF_NAME .
- docker login $DOCKER_REGISTRY_HOST -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
- docker push $DOCKER_REGISTRY_HOST/eap/eap-front-end:$CI_COMMIT_REF_NAME
tags:
- my-tag
only:
- tags

deploy:alpha:
stage: deploy
variables:
deploy_path: "/home/eap/website"
script:
- ssh -t ***@10.202.42.252 "cd $deploy_path && export TAG=$CI_COMMIT_REF_NAME && docker-compose -f docker-compose.yml pull && docker-compose -f docker-compose.yml up -d"
tags:
- my-tag
only:
- tags


"怎么用Gitlab-CI持续部署到远程机器"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

机器 镜像 内容 文件 权限 目录 账户 主控 变量 拷贝 控方 更多 知识 登陆 实用 重要 学有所成 接下来 公钥 命令 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 3ds怎么设置网络安全模式 微擎粉丝数据库 加强学校网络安全教育 如何成为数据库研发人员 哪些服务器资质比较安全 考研什么专业要考数据库 南方电网 网络安全整改 天人网络安全工作总结 数据库偶数命令 数据库字符集设置为utf8 各国的国家网络安全机构 计算机网络技术专业学软件吗 申请网络技术硕士 泰州网络营销软件开发价格咨询 ibm发布网络安全 阿里云服务器试用期过来怎样购买 重庆武隆蔬菜配送软件开发 南京本土网络安全厂商 软件开发项目启动会议纪要 在信息网络安全会议的讲话 网络安全手抄报图片又漂亮 软件开发初学者应该买什么电脑 飞鱼星日志管理服务器软件 运城市pos机服务器地址与端口 手游鬼泣巅峰之战怎么换服务器 高并发服务器开发 党员学习网络安全 基于计算机的心理学数据库 ie网络安全等级设置 网易mc服务器闪退
0