gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

再不用Gitlab的CI/CD功能,你就out了

最近發(fā)現(xiàn)Gitlab的CI/CD功能也能實現(xiàn)自動化部署,用起來也挺簡單!如果你使用的是Gitlab作為Git倉庫的話,不妨試試它的CI/CD功能。本文還是以SpringBoot的自動化部署為例,實踐下Gitlab的CI/DI功能。

SpringBoot實戰(zhàn)電商項目mall(50k+star)地址:https://github.com/macrozheng/mall

安裝

通過Gitlab的CI/CD功能實現(xiàn)自動化部署,我們需要安裝Gitlab、Gitlab Runner、Maven這些服務(wù)。

安裝Gitlab

首先我們來安裝下Gitlab,對Gitlab安裝和使用不了解的朋友可以參考下《10分鐘搭建自己的Git倉庫》 。

使用如下命令運行Gitlab服務(wù),這里需要注意的是添加了hostname屬性,這樣我們就可以通過域名來訪問Gitlab了(為了避免一些不必要的麻煩),GITLAB_ROOT_PASSWORD這個環(huán)境變量可以直接設(shè)置Gitlab中root賬號的密碼;

docker run --detach    --hostname git.macrozheng.com    --publish 10443:443 --publish 1080:80 --publish 1022:22    --name gitlab    --restart always    --volume /mydata/gitlab/config:/etc/gitlab    --volume /mydata/gitlab/logs:/var/log/gitlab    --volume /mydata/gitlab/data:/var/opt/gitlab    -e GITLAB_ROOT_PASSWORD=12345678    gitlab/gitlab-ce:latest

我們需要通過git.macrozheng.com這個域名來訪問Gitlab,如果你沒有域名的話,可以通過修改本機的host文件來實現(xiàn);

192.168.7.134 git.macrozheng.com

由于我們的Gitlab運行在1080端口上,我們想要不加端口來訪問,可以使用Nginx來反向代理下,對Nginx不熟悉的朋友可以看下《Nginx的這些妙用,你肯定有不知道的!》 ,在Nginx的配置文件夾中添加git.conf配置文件,內(nèi)容如下:

server {     listen       80; # 同時支持HTTP     server_name  git.macrozheng.com; #修改域名      location / {         proxy_pass   http://192.168.7.134:1080; # 設(shè)置代理服務(wù)訪問地址         index  index.html index.htm;     }      error_page   500 502 503 504  /50x.html;     location = /50x.html {         root   /usr/share/nginx/html;     } }

之后我們就可以通過git.macrozheng.com這個域名來訪問Gitlab了,輸入賬號密碼root:12345678即可登錄;

再不用Gitlab的CI/CD功能,你就out了

將我們的SpringBoot應(yīng)用代碼上傳到Gitlab上去,這樣Gitlab就準(zhǔn)備完畢了!這里需要注意的是,如果你在啟動Gitlab的時候沒有指定hostname的話,你的項目HTTP訪問地址會是容器的ID,使用該地址會無法訪問Git倉庫!

再不用Gitlab的CI/CD功能,你就out了

安裝Gitlab Runner

Gitlab只是個代碼倉庫,想要實現(xiàn)CI/CD還需安裝gitlab-runner,gitlab-runner相當(dāng)于Gitlab中任務(wù)的執(zhí)行器,Gitlab會在需要執(zhí)行任務(wù)時調(diào)用它。

首先下載gitlab-runner的Docker鏡像,選用alpine-bleeding,這個版本非常小巧!

docker pull gitlab/gitlab-runner:alpine-bleeding

使用如下命令運行g(shù)itlab-runner;

docker run --name gitlab-runner --restart always  -v /var/run/docker.sock:/var/run/docker.sock  -v /mydata/gitlab-runner:/etc/gitlab-runner  -d gitlab/gitlab-runner:alpine-bleeding

此時我們?nèi)绻榭磄itlab-runner的容器日志的話,會發(fā)現(xiàn)如下錯誤,config.toml文件找不到,這個問題不必擔(dān)心,當(dāng)我們將gitlab-runner注冊到Gitlab時,會自動生成該文件;

ERROR: Failed to load config stat /etc/gitlab-runner/config.toml: no such file or directory  builds=0

接下來我們需要把gitlab-runner注冊到Gitlab,打開Project->Settings->CI/CD功能,獲取到runner注冊需要使用的地址和token;

再不用Gitlab的CI/CD功能,你就out了

接下來使用如下命令,進入gitlab-runner容器的內(nèi)部;

docker exec -it gitlab-runner /bin/bash

在容器內(nèi)使用如下命令注冊runner;

gitlab-runner register

注冊時會出現(xiàn)交互界面,提示你輸入注冊地址、token、執(zhí)行器類型等信息,ssh執(zhí)行器能遠程執(zhí)行Linux命令,非常好用,推薦使用這個!

再不用Gitlab的CI/CD功能,你就out了

注冊完成后,我們可以發(fā)現(xiàn)config.toml文件已經(jīng)生成,內(nèi)容如下,以后想修改runner配置的時候,直接改這個文件就行了。

concurrent = 1 check_interval = 0  [session_server]   session_timeout = 1800  [[runners]]   name = "docker-runner"   url = "http://192.168.7.134:1080/"   token = "c2kpV6tX6woL8TMxzBUN"   executor = "ssh"   [runners.custom_build_dir]   [runners.cache]     [runners.cache.s3]     [runners.cache.gcs]     [runners.cache.azure]   [runners.ssh]     user = "root"     password = "123456"     host = "192.168.7.134"     port = "22"

在Gitlab的CI/CD設(shè)置中,我們可以發(fā)現(xiàn),有個runner成功注冊了!

再不用Gitlab的CI/CD功能,你就out了

安裝Maven

SpringBoot項目打包需要依賴Maven,我們需要在服務(wù)器上先安裝好它。

下載Maven的Linux安裝包,下載地址:https://maven.apache.org/down…

再不用Gitlab的CI/CD功能,你就out了

下載完成后使用如下命令解壓到指定目錄;

cd /mydata tar -zxvf apache-maven-3.8.1-bin.tar.gz

修改/etc/profile文件,添加環(huán)境變量配置:

export MAVEN_HOME=/mydata/apache-maven-3.8.1 export PATH=$PATH:$MAVEN_HOME/bin

通過查看Maven版本來測試是否安裝成功。

mvn -v
Maven home: /mydata/apache-maven-3.8.1 Java version: 1.8.0_292, vendor: AdoptOpenJDK, runtime: /mydata/java/jdk1.8/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"

安裝JDK

CentOS上默認(rèn)安裝的是JRE,使用Maven需要安裝JDK。

下載JDK 8,下載地址:https://mirrors.tuna.tsinghua…

再不用Gitlab的CI/CD功能,你就out了

下載完成后將JDK解壓到指定目錄;

cd /mydata/java tar -zxvf OpenJDK8U-jdk_x64_linux_xxx.tar.gz mv OpenJDK8U-jdk_x64_linux_xxx.tar.gz jdk1.8

在/etc/profile文件中添加環(huán)境變量JAVA_HOME。

vi /etc/profile # 在profile文件中添加 export JAVA_HOME=/mydata/java/jdk1.8 export PATH=$PATH:$JAVA_HOME/bin # 使修改后的profile文件生效 . /etc/profile

使用

一切準(zhǔn)備就緒,接下來通過Gitlab的CI/CD功能就可以實現(xiàn)SpringBoot應(yīng)用的自動化部署了!

首先在項目的根目錄下添加.gitlab-ci.yml文件,定義了兩個任務(wù),一個任務(wù)會將應(yīng)用代碼打包成Jar包并復(fù)制到指定目錄,另一個任務(wù)會通過運行腳本run.sh打包應(yīng)用的Docker鏡像并運行;

# 打包任務(wù) build-job:   stage: build   # 指定標(biāo)簽,只有具有該標(biāo)簽的runner才會執(zhí)行   tags:     - docker   script:     # 使用Maven打包     - mvn clean package     # 將jar包、Dockerfile、運行腳本復(fù)制到指定目錄     - cp target/mall-tiny-gitlab-1.0-SNAPSHOT.jar /mydata/build/mall-tiny-gitlab-1.0-SNAPSHOT.jar     - cp Dockerfile /mydata/build/Dockerfile     - cp run.sh /mydata/build/run.sh  # 部署任務(wù) deploy-job:   stage: deploy   tags:     - docker   script:     # 進入指定目錄并執(zhí)行運行腳本     - cd /mydata/build     - chmod +x run.sh     - ./run.sh

這里值得一提的是,默認(rèn)情況下runner只會執(zhí)行具有相同標(biāo)簽的Job,由于我們對Job和runner都設(shè)置了標(biāo)簽為docker,所以我們這里是可以執(zhí)行的。如果你沒有設(shè)置標(biāo)簽的話,需要在runner的編輯界面設(shè)置下讓runner可以執(zhí)行沒有標(biāo)簽的Job;

再不用Gitlab的CI/CD功能,你就out了

由于我們的gitlab-runner采用的是ssh的執(zhí)行器,它會登錄到我們指定的服務(wù)器,執(zhí)行我們在.gitlab-ci.yml中定義的script命令,在此之前還會先從Git倉庫中獲取代碼,所以我們還需修改下服務(wù)器上的host文件;

vim /etc/hosts 192.168.7.134 git.macrozheng.com

接下來就是要把腳本提交到Git倉庫上去,提交后會在Project->CI/CD->Pipelines中發(fā)現(xiàn)正在執(zhí)行的任務(wù);

再不用Gitlab的CI/CD功能,你就out了

打開Pipeline的詳情頁面,可以發(fā)現(xiàn)我們定義的兩個任務(wù)都已經(jīng)執(zhí)行成功了;

再不用Gitlab的CI/CD功能,你就out了

打開Job的詳情界面,我們可以看到任務(wù)執(zhí)行過程中輸出的日志信息;

再不用Gitlab的CI/CD功能,你就out了

如果你想手動執(zhí)行Pipeline,而不是提交觸發(fā)的話,可以在Pipelines頁面點擊Run Pipeline按鈕即可;

再不用Gitlab的CI/CD功能,你就out了

運行成功后,可以通過如下地址訪問項目:http://192.168.7.134:8088/swa…

再不用Gitlab的CI/CD功能,你就out了

總結(jié)

如果你用Gitlab作為Git倉庫的話,使用它的CI/CD功能來實現(xiàn)自動化部署確實很不錯!安裝一個輕量級gitlab-runner,編寫簡單的.gitlab-ci.yml腳本文件即可實現(xiàn)。其實我們之前以及介紹過很多種自動化部署方案,比如Jenkins、Gogs+Drone、Gitlab CI/CD,我們可以發(fā)現(xiàn)一個共同點,這些方案都離不開Linux命令。 所以說要想玩轉(zhuǎn)自動化部署,還是得先玩轉(zhuǎn)Linux命令!

相關(guān)視頻教程推薦:Java視頻教程

贊(3)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
日韩人妻一区二区三区蜜桃视频| 黄色片一级视频| 国产精品亚洲αv天堂无码| 国产3p在线播放| 白嫩少妇丰满一区二区| 777久久精品一区二区三区无码| 白嫩少妇丰满一区二区| 久久久久久www| 青青视频免费在线观看| 又色又爽又黄视频| 日日噜噜噜噜久久久精品毛片| 少妇高潮喷水在线观看| 17c丨国产丨精品视频| 在线观看免费黄色片| 羞羞的视频在线| 一区二区三区免费播放| 免费无码av片在线观看| 欧美一级免费播放| 久久久久久www| 青青草国产精品视频| 霍思燕三级露全乳照| 高清欧美精品xxxxx| 日本一道本久久| 成年人免费在线播放| 成人免费在线小视频| 亚洲美免无码中文字幕在线 | 久久www视频| 免费看av软件| 免费cad大片在线观看| 国产日韩第一页| 国产精品久久久久久久久电影网| 毛片在线视频观看| 欧美日韩不卡在线视频| 中国丰满人妻videoshd| 妺妺窝人体色www在线观看| 无限资源日本好片| 免费成人深夜夜行网站视频| 久久久久久久久久久久久国产| 久久亚洲国产成人精品无码区| 成人免费毛片在线观看| 日av中文字幕| 伊人成人免费视频| 国产高清av在线播放| 韩国中文字幕av| 麻豆md0077饥渴少妇| 亚洲熟妇av日韩熟妇在线| 亚洲国产精品三区| 亚洲av综合色区| 已婚少妇美妙人妻系列| 精品一区二区成人免费视频| 日韩欧美国产综合在线| 黄色国产小视频| 亚洲啊啊啊啊啊| 十八禁视频网站在线观看| 欧美在线a视频| 国产二区视频在线播放| 一级片免费在线观看视频| 无码专区aaaaaa免费视频| 色天使在线观看| 国产黄页在线观看| 国产九九九视频| 黄色片在线免费| 99色这里只有精品| 天天久久综合网| 国产麻花豆剧传媒精品mv在线| av电影一区二区三区| 天堂av在线网站| 熟女少妇在线视频播放| 成人在线免费观看网址| 日韩亚洲在线视频| 亚洲色成人www永久在线观看| 爱爱爱爱免费视频| 久久精品.com| 色欲色香天天天综合网www| 国产av第一区| 久久久久久久久久毛片| 男女污污的视频| av片中文字幕| 精品中文字幕av| 欧日韩免费视频| 久久天天东北熟女毛茸茸| 特级西西444www| 久久久久xxxx| 尤物国产在线观看| 午夜免费福利在线| 手机在线看福利| 亚洲国产精品三区| 日本激情视频在线播放| 日韩无套无码精品| 欧美一级黄色影院| 无码人妻丰满熟妇区毛片18| 少妇高潮喷水在线观看| 一区二区传媒有限公司| 97国产在线播放| 美女av免费在线观看| 六月丁香婷婷激情| 欧美 日韩 国产 激情| 成人在线看视频| 少妇黄色一级片| 色91精品久久久久久久久| 91视频这里只有精品| 999在线精品视频| 特级黄色片视频| 六月婷婷激情综合| www.射射射| 毛片一区二区三区四区| 性猛交ⅹ×××乱大交| 中文字幕免费高| 搞av.com| 国产原创精品在线| 国产精品igao网网址不卡| 欧美极品少妇无套实战| 国产精品又粗又长| 香港日本韩国三级网站| www.色.com| 免费毛片网站在线观看| 99视频在线免费| 懂色av一区二区三区四区五区| www.国产在线播放| 日日碰狠狠丁香久燥| 精品综合久久久久| 日韩小视频网站| 无需播放器的av| 很污的网站在线观看| 日韩av卡一卡二| 免费无码毛片一区二三区| 欧美美女一级片| av免费观看大全| 一区二区三区欧美精品| 国产原创popny丨九色| www激情五月| 91在线视频观看免费| 国产人妻人伦精品| 日本xxxx黄色| av7777777| 欧美在线观看黄| 伊人色在线视频| 国产福利一区视频| 日韩伦理在线免费观看| 色91精品久久久久久久久| 欧美亚洲另类色图| 韩国无码av片在线观看网站| 亚洲天堂2018av| 免费在线观看毛片网站| 人人妻人人澡人人爽欧美一区双| 爱情岛论坛成人| 韩国日本在线视频| av免费看网址| 久久亚洲国产成人精品无码区| 色网站在线视频| 欧美伦理片在线观看| 免费无码av片在线观看| 99在线精品免费视频| 人人妻人人澡人人爽欧美一区双| 天天操精品视频| 亚洲色图偷拍视频| 8x8x成人免费视频| 男操女免费网站| 伊人成人222| 亚洲va综合va国产va中文| 男女男精品视频站| 无需播放器的av| www.夜夜爽| 九九久久久久久| 黄色一级片网址| 少妇熟女一区二区| 天天做天天躁天天躁| 欧美日韩dvd| 精品久久久久久无码中文野结衣| 无码人妻精品一区二区蜜桃百度| 蜜臀av.com| 亚洲精品久久久久久久蜜桃臀| 激情五月婷婷六月| 国产网站免费在线观看| 女人扒开屁股爽桶30分钟| 成人亚洲视频在线观看| 在线能看的av网站| 天天操天天干天天玩| 国产一区二区四区| 国产三区在线视频| 天堂中文视频在线| 欧美激情国内自拍| 国产www免费| 国产精品天天av精麻传媒| 手机免费av片| 韩日视频在线观看| 日本www.色| a级片一区二区| 任你操这里只有精品| 久久出品必属精品| 伊人成色综合网| 欧美国产日韩另类| 可以在线看的av网站| 一区二区三区免费播放| 一二三四中文字幕| 无码aⅴ精品一区二区三区浪潮| 8x8x成人免费视频| 青青草视频在线免费播放| 一路向西2在线观看| 国产免费一区二区视频|