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


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

3、這時(shí)我們打開(kāi)項(xiàng)目中的 .gitlab-ci.yml
這里注意,前面有個(gè)點(diǎn),這里我們需要把 tags修改成我們剛才設(shè)置的
script是我們要執(zhí)行的腳本路徑only是只在 master分支上面的代碼有變化時(shí)進(jìn)行操作tags就是我們之前設(shè)置的
stages:
- deploy
deploy:
stage: deploy
script:
- /root/autoupload.sh
only:
- master
tags:
- auto-upload-test
不然會(huì)提示錯(cuò)誤,并且執(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文件放到對(duì)應(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ù)制到目標(biāo)服務(wù)器中的 /root/.ssh/authorized_keys,就可以免密碼登錄了。
這里是在代碼服務(wù)器上免密登錄到目標(biāo)服務(wù)器中,在目標(biāo)服務(wù)器上面拉取代碼
登錄到對(duì)應(yīng)要發(fā)布的服務(wù)器上,拉取 gitlab的代碼,這樣就能達(dá)到 git上傳后能自動(dòng)發(fā)布到對(duì)應(yīng)的服務(wù)器上。這里的 * 號(hào)改成對(duì)應(yīng)的ip地址與文件存放路徑即可
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何使用docker compose 部署ELK 8.X及監(jiān)控
這篇文章主要介紹了如何使用docker compose 部署ELK 8.X及監(jiān)控,包括前置環(huán)境配置及docker compose啟動(dòng)/停止的命令,感興趣的朋友跟隨小編一起看看吧2023-10-10
Docker實(shí)現(xiàn)自定義jkd鏡像上傳阿里云
本文詳解基于Ubuntu構(gòu)建JDK8自定義Docker鏡像及上傳至阿里云倉(cāng)庫(kù)的流程,涵蓋Dockerfile編寫、鏡像構(gòu)建、容器運(yùn)行、環(huán)境變量配置,以及阿里云賬戶準(zhǔn)備、鏡像推送與測(cè)試等關(guān)鍵步驟2025-08-08
使用 docker部署tomcat并接入skywalking的使用
這里主要介紹了使用 docker 部署 tomact 并接入 skywalking 的使用,因?yàn)樵诰W(wǎng)上并沒(méi)有查到太多相關(guān)的信息,所以這里記錄下來(lái),需要對(duì)有需求的小伙伴提供一些幫助2021-04-04
Docker 部署onlyoffice的詳細(xì)過(guò)程
文章介紹了如何優(yōu)化OnlyOffice的部署、Token生成、前端測(cè)試及文件轉(zhuǎn)換,提升了系統(tǒng)的穩(wěn)定性和易用性,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2025-11-11
Docker運(yùn)行Web服務(wù)實(shí)戰(zhàn)之Tomcat的詳細(xì)過(guò)程
Tomcat是由Apache軟件基金會(huì)下屬的Jakarta項(xiàng)目開(kāi)發(fā)的一個(gè)Servlet容器,按照Sun Microsystems提供的技術(shù)規(guī)范,實(shí)現(xiàn)了對(duì)Servlet和Java Server Page(JSP)的支持,這篇文章主要介紹了Docker運(yùn)行Web服務(wù)實(shí)戰(zhàn)之Tomcat的詳細(xì)過(guò)程,需要的朋友可以參考下2022-08-08
一文教你輕松搞定Docker無(wú)法拉取鏡像問(wèn)題
這篇文章主要介紹了當(dāng)Docker無(wú)法成功拉取鏡像時(shí)可能遇到的問(wèn)題以及解決方法,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)遇到這個(gè)問(wèn)題的同學(xué)們具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2025-02-02

