gitlab-ci配置服務(wù)器自動拉取方式
1、項目中找到
settings->ci/cd->runner->Set up a specific Runner manually


2、這里我的 gitlab-runner 已經(jīng)裝好過了
我們需要到 安裝 gitlab 的服務(wù)器中執(zhí)行下
gitlab-runner register
這個命令,這時彈出的容器中需要輸入 url和token,我們使用1 中找到的
輸入完以后再輸入描述,自己看著寫,這時還會要求輸入 Enter tags for the runner
這里我理解的tags是后面 .gitlab-ci.yml 文件中一tags,他們一致時就會觸發(fā),然后進行自動化部署
這里我們輸入 auto-upload-test 確定后又讓你輸入
Enter an executor: docker, docker-ssh, parallels, ssh, custom, shell, virtualbox, docker+machine, docker-ssh+machine, kubernetes:
這里我們會用到 shell,到時候讓 gitlab-ci.yml 調(diào)用 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
確定后就注冊成功了,這時我們可以看見剛才設(shè)置的 runner

3、這時我們打開項目中的 .gitlab-ci.yml
這里注意,前面有個點,這里我們需要把 tags修改成我們剛才設(shè)置的
script是我們要執(zhí)行的腳本路徑only是只在 master分支上面的代碼有變化時進行操作tags就是我們之前設(shè)置的
stages:
- deploy
deploy:
stage: deploy
script:
- /root/autoupload.sh
only:
- master
tags:
- auto-upload-test
不然會提示錯誤,并且執(zhí)行不了
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文件放到對應(yīng)的位置中
#!/bin/bash ssh root@192.168.*.* << ssh233 cd /usr/local/apache-tomcat-8.5.28/*** git pull origin master pwd ssh233
這里是利用免登錄配置,把gitlab服務(wù)器上的 /root/.ssh/id_rsa.pub 里的內(nèi)容復(fù)制到目標服務(wù)器中的 /root/.ssh/authorized_keys,就可以免密碼登錄了。
這里是在代碼服務(wù)器上免密登錄到目標服務(wù)器中,在目標服務(wù)器上面拉取代碼
登錄到對應(yīng)要發(fā)布的服務(wù)器上,拉取 gitlab的代碼,這樣就能達到 git上傳后能自動發(fā)布到對應(yīng)的服務(wù)器上。這里的 * 號改成對應(yīng)的ip地址與文件存放路徑即可
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker拉取clickhouse鏡像的方法實現(xiàn)
本文主要介紹了docker拉取clickhouse鏡像的方法實現(xiàn),解決從DockerHub拉取鏡像時的網(wǎng)絡(luò)連接問題,具有一定的參考價值,感興趣的可以了解一下2025-03-03
.NETCore Docker實現(xiàn)容器化與私有鏡像倉庫管理
Docker是用Go語言編寫基于Linux操作系統(tǒng)的一些特性開發(fā)的,其提供了操作系統(tǒng)級別的抽象,是一種容器管理技術(shù),它隔離了應(yīng)用程序?qū)A(chǔ)架構(gòu)(操作系統(tǒng)等)的依賴。這篇文章主要介紹了.NETCore Docker實現(xiàn)容器化與私有鏡像倉庫管理,需要的朋友可以參考下2019-08-08
給docker創(chuàng)建的elasticsearch容器添加密碼簡單步驟
在使用Elasticsearch(ES)Docker容器時,有時需要設(shè)置密碼來保護數(shù)據(jù)的安全性,這篇文章主要給大家介紹了關(guān)于給docker創(chuàng)建的elasticsearch容器添加密碼的簡單步驟,需要的朋友可以參考下2024-02-02

