gitlab-ci配置服务器自动拉取方式
1、项目中找到
settings->ci/cd->runner->Set up a specific Runner manually


2、这里我的 gitlab-runner 已经装好过了
我们需要到 安装 gitlab 的服务器中执行下
gitlab-runner register
这个命令,这时弹出的容器中需要输入 url和token,我们使用1 中找到的
输入完以后再输入描述,自己看着写,这时还会要求输入 Enter tags for the runner
这里我理解的tags是后面 .gitlab-ci.yml 文件中一tags,他们一致时就会触发,然后进行自动化部署
这里我们输入 auto-upload-test 确定后又让你输入
Enter an executor: docker, docker-ssh, parallels, ssh, custom, shell, virtualbox, docker+machine, docker-ssh+machine, kubernetes:
这里我们会用到 shell,到时候让 gitlab-ci.yml 调用 sh 文件,我们就输入个
shell
Enter tags for the runner (comma-separated): auto-upload-test Registering runner... succeeded runner=eG2jn6vJ Enter an executor: docker, docker-ssh, parallels, ssh, custom, shell, virtualbox, docker+machine, docker-ssh+machine, kubernetes: shell
确定后就注册成功了,这时我们可以看见刚才设置的 runner

3、这时我们打开项目中的 .gitlab-ci.yml
这里注意,前面有个点,这里我们需要把 tags修改成我们刚才设置的
script是我们要执行的脚本路径only是只在 master分支上面的代码有变化时进行操作tags就是我们之前设置的
stages:
- deploy
deploy:
stage: deploy
script:
- /root/autoupload.sh
only:
- master
tags:
- auto-upload-test
不然会提示错误,并且执行不了
This job is stuck because you don't have any active runners online or available with any of these tags assigned to them: autopull Go to project CI settings
这里的 autopull就是我们修改前的 tags
4、编写 sh 文件
并把 sh文件放到对应的位置中
#!/bin/bash ssh root@192.168.*.* << ssh233 cd /usr/local/apache-tomcat-8.5.28/*** git pull origin master pwd ssh233
这里是利用免登录配置,把gitlab服务器上的 /root/.ssh/id_rsa.pub 里的内容复制到目标服务器中的 /root/.ssh/authorized_keys,就可以免密码登录了。
这里是在代码服务器上免密登录到目标服务器中,在目标服务器上面拉取代码
登录到对应要发布的服务器上,拉取 gitlab的代码,这样就能达到 git上传后能自动发布到对应的服务器上。这里的 * 号改成对应的ip地址与文件存放路径即可
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
给docker创建的elasticsearch容器添加密码简单步骤
在使用Elasticsearch(ES)Docker容器时,有时需要设置密码来保护数据的安全性,这篇文章主要给大家介绍了关于给docker创建的elasticsearch容器添加密码的简单步骤,需要的朋友可以参考下2024-02-02


最新评论