前言
gitlab提供了免费的ci功能,可以持续集成,通过简单的配置,我们能用ci调用ssh,在远程服务器执行命令。比如重启容器之类的简单任务配置
找到项目的Settings -> CI/CD->Variables,
添加一个名为SSH_PRIVATE_KEY的变量,内容为你的ssh 私匙,确保能通过该私匙登陆你的ssh服务器
然后编辑你项目的.gitlab-ci.yml配置文件job1:
image: netroby/docker-lftp
before_script:
- "which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )"
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d "\r" | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
script:
- ssh root@your.host uptime
在before_scripts这边,这些脚本的作用,是添加私匙, script段,就是你自己的的真正的需要远程执行的命令
示例中,连到服务器,并执行一个uptime命令,获取远程服务器的生存时间
你可以做任何你想做的事情