• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    如何利用Gitlab-ci持续部署到远程机器(详细教程)

    长话短说,今天聊一聊使用Gitlab-CI 自动部署到远程服务器。

    看过这篇文章的朋友,会注意到我是在 Gitlab-Runner服务器上自动部署的站点,本次我们结合ssh部署到远程机器(将CI服务器和部署服务器分离,避免资源抢占)。

    SSH免密登陆

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

    要让Gitlab Runner部署到远程机器,远程机器必须信任gitlab runner账户。

    主控方:
    scp /home/gitlab-runner/.ssh/id_rsa.pub
    受控方:
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    4.在受控方机器设置权限:
    ~/.ssh权限设置为700;
    ~/.ssh/authorized_keys权限设置为600

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

    如何持续部署?

    利用镜像tag持续部署: gitlab项目只要打出tag--> 执行构建镜像Job(以此次git tag为镜像tag)-->执行部署Job,拿到git 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 build && docker-compose -f docker-compose.yml up -d" 
     tags:
     - my-tag
     only:
     - tags

    上面的黄色背景行描述了 ssh远程登陆-->切换到部署目录-->插入本次构建的git tag--->执行容器部署的脚本写法。

    That'all, 本文记录了gitlab-ci持续部署到远程机器的过程: ssh免密登陆是本菜鸡最近搞定的姿势,持续部署的方式简单实用。

    到此这篇关于如何利用Gitlab-ci持续部署到远程机器(详细教程)的文章就介绍到这了,更多相关Gitlab-ci持续部署到远程机器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    上一篇:linux服务器显卡崩溃解决方案
    下一篇:Docker容器简单部署nginx过程解析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    如何利用Gitlab-ci持续部署到远程机器(详细教程) 如何,利用,Gitlab-ci,持续,