无锡网站建设推荐,wordpress 只在首页显示,网站后缀意思,廊坊视频优化排名前言
上文完成了gitlab-runner的基础配置及将gitlab的制品上传至软件包库#xff08;产品库#xff09;的脚本编写#xff1b;
本文实现gitlab的ci/cd对远程服务器的操作#xff1b;
介绍
要让Gitlab Runner部署到远程机器#xff0c;远程机器必须信任gitlab runner账…前言
上文完成了gitlab-runner的基础配置及将gitlab的制品上传至软件包库产品库的脚本编写
本文实现gitlab的ci/cd对远程服务器的操作
介绍
要让Gitlab Runner部署到远程机器远程机器必须信任gitlab runner账户。
先执行
su gitlab-runner
切换到gitlab-runner账户 a服务器 gitlab-runner所在服务器
b服务器 部署项目的远程服务器
免密通道建立
生成密钥
a服务器上执行
ssh-keygen 或者
ssh-keygen -t rsa -b 4096 -C your_emailexample.com 执行后 /home/gitlab-runner/.ssh 目录下
会新生成两个文件id_rsa.pub和id_rsa
将a服务器公钥上传至b远程服务器的SSH安全外壳协议认证文件
scp -r /home/gitlab-runner/.ssh/id_rsa.pub rootb服务器的ip:/root/.ssh/authorized_keys 如果目标是追加公钥可以使用 操作符通过 SSH 连接来实现
cat /home/gitlab-runner/.ssh/id_rsa.pub | ssh rootb服务器的ip cat /root/.ssh/authorized_keys这样可以避免权限和覆盖问题。
验证
ssh rootb服务器的ip .gitlab-ci.yml文件编写
着重查看ssh部分编写
stages:- build- deploy- sshbuild:stage: buildscript:- echo xxxartifacts:paths:- dist.tar.gz- update_description.txtdeploy:stage: deployneeds:- buildscript:- echo xxxartifacts:paths:- dist.tar.gz- update_description.txtssh:stage: sshneeds:- deploybefore_script:# 查找安装ssh-agent# - which ssh-agent || ( apt-get update -y apt-get install openssh-client -y )- which ssh-agent || ( yum update -y yum install openssh-client -y )# 启动 ssh-agent- eval $(ssh-agent -s)# 将GitLab服务器私钥添加到ssh-agent代理中- chmod 400 ~/.ssh/id_rsa- ssh-add ~/.ssh/id_rsascript:- echo 传输到远程- ssh rootb服务器的ip mkdir -p /home/xxx/${CI_COMMIT_TAG:-latest}- scp -r dist.tar.gz rootb服务器的ip:/home/xxx/${CI_COMMIT_TAG:-latest}/- scp -r update_description.txt rootb服务器的ip:/home/xxx/${CI_COMMIT_TAG:-latest}/rules:- if: $CI_COMMIT_TAGwhen: always- when: never 流水线执行完后去远程服务器查看对应目录即可完成验证
---------------
本文结束。