怎么用自己的网站做网页,怎么制作网站程序,做网站一定要用cms,wordpress模板插件长话短说#xff0c;今天聊一聊使用Gitlab-CI 自动部署到远程服务器。如果看过《基于docker-compose的Gitlab CI/CD实践排坑指南》这篇文章的朋友#xff0c;会注意到我是在 Gitlab-Runner服务器上自动部署的站点#xff0c;本次我们结合ssh部署到远程机器(将CI服务器和… 长话短说今天聊一聊使用Gitlab-CI 自动部署到远程服务器。如果看过《基于docker-compose的Gitlab CI/CD实践排坑指南》这篇文章的朋友会注意到我是在 Gitlab-Runner服务器上自动部署的站点本次我们结合ssh部署到远程机器(将CI服务器和部署服务器分离避免资源抢占。SSH免密登陆还是那句CI/CD实质是将我们手动集成、拷贝部署的方式脚本化远程部署的重要姿势是要求免密操控。受控机器上的某个账户信任 CI机器上gitlab-runner账户。先执行su gitlab-runner切换到gitlab-runner账户在你的CI机器(主控端)上使用 ssh-keygen命令创建公钥使用ssh-keygen -t rsa来创建程序会问你存放目录如果不需要修改直接回车几次即可将~/.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
在受控方机器设置权限~/.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_imagescript:- 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-tagonly: - tagsdeploy:alpha:stage: deployvariables:deploy_path: /home/eap/websitescript:- 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-tagonly:- tags
上面的黄色背景行描述了 ssh远程登陆--切换到部署目录--插入本次构建的git tag---执行容器部署的脚本写法。Thatall, 本文记录了gitlab-ci持续部署到远程机器的过程 ssh免密登陆是本菜鸡最近搞定的姿势持续部署的方式简单实用。“两年前本人也是linux小白也经历了[想学][放弃][想学][放弃]...的循环。.NETCore 作为新一代开源跨平台框架面向云原生而生容器技术作为云原生的奠基石.NETer要拥抱容器拥抱Linux。https://www.jianshu.com/p/33461b619d53