成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > Gogs+Jenkins+Docker 自動(dòng)化部署.NetCore的方法步驟

Gogs+Jenkins+Docker 自動(dòng)化部署.NetCore的方法步驟

熱門標(biāo)簽:烏海智能電話機(jī)器人 在百度地圖標(biāo)注車輛 400電話申請方案 藍(lán)點(diǎn)外呼系統(tǒng) 撫順移動(dòng)400電話申請 威海人工外呼系統(tǒng)供應(yīng)商 做外呼系統(tǒng)的公司違法嗎 寧夏房產(chǎn)智能外呼系統(tǒng)要多少錢 貴陽教育行業(yè)電話外呼系統(tǒng)

環(huán)境說明

  • 騰訊云輕量服務(wù)器, 配置 1c 2g 6mb ,系統(tǒng)是 ubuntu 20.14,Docker 和 Jenkins 都在這臺服務(wù)器上面,
  • 群暉218+一臺,Gogs 在這臺服務(wù)器上。

Docker安裝

卸載舊的 Docker

sudo apt-get remove docker docker-engine docker.io containerd runc

更新 apt 包索引并安裝包以允許 apt 通過 HTTPS 使用存儲庫

sudo apt-get update

sudo apt-get install \

  apt-transport-https \

  ca-certificates \

  curl \

  gnupg \

  lsb-release

添加 Docker 官方的 GPG 密鑰

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

安裝 Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io

通過運(yùn)行 hello-world 驗(yàn)證 Docker 是否已正確安裝。輸出 Hello from Docker! 表示安裝成功

sudo docker run hello-world

不同的系統(tǒng)安裝方式可以查閱 docker 官方安裝說明

Gogs安裝

Gogs 是一款用 Go 語言開發(fā)的輕量級極易搭建的自助 Git 服務(wù)。 選擇 Gogs 主要因?yàn)樗鄬τ?Gitlab 動(dòng)則幾個(gè)G的內(nèi)用暫用率來說輕太多了。Gogs 會大大減低系統(tǒng)消耗,跑起來也就占用100mb內(nèi)存。我的 Gogs 是跑在群暉上面的,效果都是一樣,都是在 Docker 中托管

拉取 Gogs 鏡像

sudo docker pull gogs/gogs

創(chuàng)建 Gogs 文件掛載路徑

mkdir -p /var/gogs

啟動(dòng)容器 6022 是 https,6080 是 http,可以通過 docker ps 命令來查看是否啟動(dòng)成功。

docker run -d --name=my_gogs -p 6022:22 -p 6080:3000 -v /var/gogs:/data gogs/gogs

容器啟動(dòng)后通過 http://xxxxxxxx:6080 進(jìn)行 Gogs 的初始配置

數(shù)據(jù)庫類型建議選擇 linux 自帶的 SQLite3 ,支撐十幾個(gè)人左右的團(tuán)隊(duì)使用足夠了。域名填寫 Gogs 所在服務(wù)器的域名或者 ip 地址。http 端口號和容器內(nèi)部端口一致,應(yīng)用 URL 填寫訪問 Gogs 的域名端口或 ip 端口,點(diǎn)擊安裝后注冊一個(gè)新用戶登陸即可

Gogs安裝完成后新建一個(gè) Demo 倉庫稍后使用

Gogs 官方文檔

Docker中托管.NetCore服務(wù)

新建一個(gè) WebApi 項(xiàng)目

項(xiàng)目中增加一個(gè) DockerFile 文件并且簡單配置

# 指定依賴版本
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim 
WORKDIR /app

COPY . /publish
WORKDIR /publish
# 設(shè)置Docker容器對外暴露端口
EXPOSE 80
# 設(shè)置時(shí)區(qū)
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \

    && echo 'Asia/Shanghai' >/etc/timezone 
# 程序入口
ENTRYPOINT ["dotnet", "DemoWebApi.dll"]

發(fā)布Api服務(wù),如果發(fā)布文件中沒有 DockerFile 文件需要手動(dòng)修改項(xiàng)目文件,發(fā)布成功后將發(fā)布文件 copy 到服務(wù)器指定的文件夾中

 <ItemGroup>
        <None Update="Dockerfile">
            <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </None>
    </ItemGroup>

進(jìn)入服務(wù)器剛 copy 的發(fā)布文件根路徑下,執(zhí)行 docker build -t {REPOSITORY}:{TAG} . 命令 通過 DockerFile 來生成 Docker 鏡像文件,REPOSITORY 是鏡像的名字,TAG 是標(biāo)簽。譬如 docker build -t demo:v1 .


通過 docker images 命令來查看生成的所有鏡像

鏡像生成成功后就可以通過鏡像創(chuàng)建并運(yùn)行容器了。執(zhí)行 docker run --name demoapi -dp 5009:80/tcp demo:v1 命令創(chuàng)建并運(yùn)行容器
-d:后臺運(yùn)行容器,并返回容器ID;
-p:指定端口映射,格式為:主機(jī)(宿主)端口:容器端口,容器的端口就是你程序啟動(dòng)的端口,建議直接在項(xiàng)目中寫死。
-- name:容器名字

執(zhí)行后可以通過 docker ps 查看所有運(yùn)行起來的容器狀態(tài),需要查看所有容器可以使用 docker ps -a 命令

用 postman 測試一下是否部署成功了

列舉一些docker常用命令

  • docker restart {容器id} #重啟容器
  • docker start {容器id} #啟動(dòng)容器
  • docker attach {容器id} # 這樣進(jìn)入容器退出會導(dǎo)致容器也退出,attach 可以用戶看容器的標(biāo)準(zhǔn)輸出
  • docker attach {容器id} --sig-proxy=false # 加上參數(shù)不會導(dǎo)致同期退出
  • docker exec -it {容器id} /bin/bash # 進(jìn)入容器需要在容器中執(zhí)行命令需要使用 exec 命令
  • docker logs {容器id} -f # 跟蹤日志輸出 -f 跟蹤日志輸出
  • docker rm -f {容器id}# 刪除已經(jīng)停止的容器
  • docker rmi {REPOSITORY:TAG} # 刪除指定鏡像
  • docker image prune # 刪除懸空鏡像,也就是沒有被容器引用的鏡像

到這里服務(wù)已經(jīng)在 Docker 完成了托管,但是每次發(fā)布都需要 build 新的鏡像,然后停止老的容器,在創(chuàng)建一個(gè)新的容器,無形中增加了工作量。Jenkins 可以替我們完成這些工作

Jenkins安裝

Jenkins 是依賴 java 的,所以需要安裝 java 的 sdk,這里選擇 java8

sudo apt-get install openjdk-8-jdk

安裝 LTS 版本的 Jenkins

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \

    /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

查看運(yùn)行狀態(tài) systemctl status jenkins 正常會輸出如下內(nèi)容

Jenkins 默認(rèn)端口是 8080,安裝成功后通過 http://xxxx:8080 即可訪問,第一步需要先解鎖,管理員密碼會在安裝成功后輸出,也可以通過命令 cat /var/lib/jenkins/secrets/initialAdminPassword

輸入密碼后進(jìn)入初始化頁面,選擇安裝推薦插件

插件安裝進(jìn)度,需要一些些時(shí)間

結(jié)束后創(chuàng)建管理賬號登錄即可,進(jìn)入系統(tǒng)管理,選擇插件管理,搜索gogs插件后安裝。

安裝后需要重啟一下 Jenkins,訪問鏈接 http://xxxx:8080/restart 后點(diǎn)擊重啟,或者通過執(zhí)行 service jenkins restart 重啟

為了方便執(zhí)行腳本,需要讓 Jenkins 以 root 用戶來運(yùn)行,編輯文件 vim /etc/sysconfig/jenkinsvim /etc/default/jenkins 取消 JENKINS_USER 注釋,并把值設(shè)置成 JENKINS_USER="root" 后修改文件夾權(quán)限

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

jenkins 常用操作

  • 啟動(dòng) service jenkins start
  • 重啟 service jenkins restart 或訪問 http://xxxx:8080/restart
  • 停止 service jenkins stop 或訪問 http://xxxx:8080/exit
  • 重新加載配置文件 http://xxxx:8080/reload

使用Jenkins自動(dòng)化

因?yàn)樾枰诜?wù)器上 build 項(xiàng)目,所以需要安裝 .NetCore 環(huán)境,可以查閱 微軟官方文檔 自行安裝

把新建的項(xiàng)目推送到 Gogs 倉庫中后點(diǎn)擊倉庫高級設(shè)置

選擇 Web 鉤子,添加新 Gogs 的 Web 鉤子

配置 Web 鉤子,推送地址前面是 Jenkins 的訪問鏈接,后面 job 名字可以自己定義,選擇只有在 push 的時(shí)候觸發(fā)鉤子,也可以自己選定事件

添加后重新點(diǎn)擊管理 Web 鉤子,選擇剛才新建的鉤子,點(diǎn)擊測試推送來驗(yàn)證是否正常,拋出的異常如果是 job 未定義說明鉤子是正常的,如果是其他的異??梢圆榭赐扑偷刂肥欠裾_,以及 Jenkins 上的 Gogs 插件是否正確安裝

回到 Jenkins 頁面,新建一個(gè)任務(wù),任務(wù)名就是之前 Gogs 里面的 job 名字,選擇構(gòu)建自由風(fēng)格的軟件項(xiàng)目

添加倉庫配置,Repository URL 是你的倉庫地址,點(diǎn)擊添加你的倉庫憑據(jù)信息,最后指定操作的分支

構(gòu)建選擇執(zhí)行shell腳本,腳本也可以放在服務(wù)器上這里調(diào)用就行,為了方便就直接寫在這里


# 判斷是否存在demo鏡像是否存在
docker images | grep demo &> /dev/null
if [ $? -ne 0 ]
then
   # 不存在不做處理
	echo "not existed demo"
else
    # 如果鏡像存在默認(rèn)認(rèn)為容器也是在運(yùn)行狀態(tài)
	echo "existed demo"
   	# 停止刪除容器和鏡像
    docker stop demoapi
    docker rm -f demoapi
    docker rmi demo:v1
fi

# 重新build后生成鏡像并運(yùn)行容器
cd DemoWebApi/
# 發(fā)布到到指定路徑
dotnet publish -c Release -o /publish
# 進(jìn)入路徑生成鏡像后啟動(dòng)容器
cd /publish
docker build -t demo:v1 .
docker run --name demoapi -dp 5009:80/tcp demo:v1 

保存后點(diǎn)擊立即構(gòu)建驗(yàn)證一下,如果構(gòu)建失敗可以在控制臺輸出中查看詳細(xì)構(gòu)建過程和錯(cuò)誤信息

回到 Gogs 的管理 Web 鉤子頁面重新推送,成功后 Jenkins 會自動(dòng)構(gòu)建發(fā)布,之后只要 Push 到 Master 分支就會自動(dòng)發(fā)布


總結(jié)

簡單記錄了自己折騰的全過程,Jenkins 和 Docker 還有很多功能,要在使用過程中慢慢了解。

到此這篇關(guān)于Gogs+Jenkins+Docker 自動(dòng)化部署.NetCore的方法步驟的文章就介紹到這了,更多相關(guān)Docker 自動(dòng)化部署.NetCore內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:慶陽 泰州 周口 蕪湖 那曲 朝陽 松原 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Gogs+Jenkins+Docker 自動(dòng)化部署.NetCore的方法步驟》,本文關(guān)鍵詞  Gogs+Jenkins+Docker,自動(dòng)化,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Gogs+Jenkins+Docker 自動(dòng)化部署.NetCore的方法步驟》相關(guān)的同類信息!
  • 本頁收集關(guān)于Gogs+Jenkins+Docker 自動(dòng)化部署.NetCore的方法步驟的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    日韩久久精品视频| 激情影院在线观看| 欧美日本成人| 中文字幕精品视频在线| 亚洲麻豆av| wwwxxx黄色片| 久久精品国产一区二区三| 日韩免费性生活视频播放| 亚洲国产综合自拍| www.五月色.com| 精品国偷自产国产一区| 日韩一区二区三区四区| 国产一级片久久| 亚洲成人黄色网址| 精品一区二区三区在线视频| 波多野结衣激情视频| 国产精品第五页| 日韩乱码一区二区三区| 91香蕉视频在线观看视频| 日韩欧美国产精品综合嫩v| 无码人妻一区二区三区在线| 国产精品理论片在线观看| 久久精品亚洲乱码伦伦中文| 在线国产情侣| 日本三级一区| 亚洲午夜激情网页| heisi视频网在线观看| 天天草天天干| 久久综合亚洲精品| 日韩精品一区在线视频| 亚洲午夜91| 国产自产2019最新不卡| 在线heyzo| 亚洲成av人片在线| 黑人玩弄人妻一区二区三区| 日本精品性网站在线观看| 日韩精品成人av| 一区二区日韩欧美| 日日夜夜人人| 免费福利视频一区二区三区| av先锋下载| 清纯唯美亚洲色图| 精品无码久久久久成人漫画| 91在线观看免费高清完整版在线观看| 午夜精品久久久久久久99热| 久99久在线视频| 国产精品网站导航| 亚洲成va人在线观看| 99国产在线视频| 欧美在线视频日韩| 国产成人在线视频观看| 另类一区二区三区| 97超级碰在线看视频免费在线看| 国产伦子伦对白在线播放观看| 男人天堂网站| 一级片在线免费看| 久久欧美肥婆一二区| 亚洲人成在线观| 欧美一区二区啪啪| 99视频在线精品| 十九岁完整版在线观看好看云免费| 1024手机在线观看你懂的| 91久久嫩草影院一区二区| av免费观看网站| 日本视频网站在线观看| 国产免费黄色录像| 老司机精品视频网站| 丰满人妻一区二区三区免费视频| 国产偷人妻精品一区| 亚洲成人手机在线观看| 亚洲福利一二三区| 日本免费在线一区| 久久精品一区二区国产| 久久精品一区二区三区不卡| 无码人妻丰满熟妇区毛片| 黄色一区二区三区四区| 中文字幕伦av一区二区邻居| 一区二区三区中文字幕精品精品| 国产尤物视频在线观看| 97精品高清一区二区三区| 成人网站免费观看| 国产午夜精品一区在线观看| 欧美精品在线观看91| 色综合天天综合色综合av| 国产精品亚洲综合久久小说| 精品一区二区三区在线视频| 美女视频黄免费| 国产成人综合在线视频| 麻豆成人久久精品二区三区小说| 日本人成精品视频在线| 美女在线观看视频一区二区| 99re这里只有精品在线| 韩日在线视频| 一区二区三区免费在线观看视频| av大片在线观看| 精品裸体舞一区二区三区| 成人性生交大片免费| 中文字幕免费在线观看视频| 欧美日韩视频精品一区二区| 中文字幕综合一区| 国产福利片在线| 欧美日韩精品是欧美日韩精品| 99tv成人影院| 日本一区不卡| 成人天堂资源www在线| 成人激情黄色网| 在线观看日韩羞羞视频| 黄色激情在线视频| 国产超碰人人爽人人做人人爱| 成人a区在线观看| 亚洲传媒在线| 国产精品欧美一区二区三区不卡| 久久国产直播| 亚洲欧美在线一区二区| 亚洲欧美精品一区二区三区| 91亚洲精品久久久蜜桃网站| 男人日女人视频网站| 欧美亚州在线观看| 男女毛片免费视频看| 成年人晚上看的视频| 老牛影视av一区二区在线观看| 日本a在线免费观看| 国产一区二区调教| 人妖欧美一区二区| 亚洲成av人**亚洲成av**| 2021国产精品视频| 欧美国产精品中文字幕| 中文久久乱码一区二区| av高清一区二区| 26uuu久久噜噜噜噜| 日韩影院精彩在线| 91最新地址在线播放| 天天插天天操天天干| 无线免费在线视频| 亚洲电影一区二区三区| 亚洲福利一二三区| 精品黑人一区二区三区在线观看| 亚洲爆乳无码精品aaa片蜜桃| 精品欧美午夜寂寞影院| 亚洲成精国产精品女| 五月激情婷婷网| 狠狠色综合欧美激情| 偷窥少妇高潮呻吟av久久免费| 好吊妞视频这里有精品| 一级淫片免费看| 美脚丝袜一区二区三区在线观看| 99热在线国产| 中文幕一区二区三区久久蜜桃| 韩国19禁主播vip福利视频| 成人久久18免费网站麻豆| 日韩精品一区二区三区色欲av| 国产5g成人5g天天爽| 久久99精品一区二区三区| 成人免费淫片在线费观看| 精品播放一区二区| 国产伦理一区二区三区| 成人永久在线| 欧美综合社区国产| 视频一区在线观看| 日本亚洲欧美天堂免费| 免费看黄色片的网站| 免费看片黄色| 国产乱淫a∨片免费视频| 欧美牲交a欧美牲交| 日韩激情av在线免费观看| 久久久久麻豆v国产精华液好用吗| 成人美女视频在线观看| 日韩欧美三级在线观看| 国产又粗又爽视频| 亚洲国产精品99| 国产乱子伦三级在线播放| 久久久久久免费视频| 亚洲免费视频播放| 欧美成人基地| av网站免费观看| 国产精品日韩精品欧美精品| 欧美一区二区三区四区在线| 99久久免费国产精品| 懂色av中文一区二区三区天美| 欧美女同网站| 亚洲视频在线观看免费| 国产一级特黄a大片99| 最新天堂在线视频| 国产无遮挡又黄又爽免费软件| 欧美日韩一区二区三区在线观看免| 91sao在线观看国产| aaaaaaa大片免费看| 久久porn| 国产人与zoxxxx另类91| 久久婷婷人人澡人人喊人人爽| 小黄文在线观看| 日韩精品在线免费观看视频| 91高潮在线观看| 丁香啪啪综合成人亚洲小说| 国产一区二区三区成人| 国产精品乱码久久久| 亚洲理论中文字幕| 日韩精品小视频| 波多野结衣视频一区二区| 麻豆国产精品一区二区三区| 日韩久久久久久久久久久久| 91国内精品久久久| 国产精品一线二线三线| 久久精品国产精品青草| 午夜精品久久久久久久99热影院| 亚洲人成77777在线观看网| 亚洲专区一区二区三区| 国产极品在线播放| 欧美va在线| 久久视频免费| 亚洲精选中文字幕| 你懂的成人av| 亚洲黄色小视频| 久久久久久久久久久久久av| 欧美一区二区三区在线观看免费| 男人艹女人在线观看| 精品无人码麻豆乱码1区2区| 日韩精品卡一| 精品视频久久久久久| 蜜臀av国内免费精品久久久夜夜| 欧洲美女精品免费观看视频| 四虎一区二区| 亚洲av成人精品一区二区三区| 国产午夜免费福利| 欧美天堂一区二区三区| 欧美一级视频免费在线观看| 污视频网站免费观看| 国产激情一区| 国产普通话bbwbbwbbw| 在线视频国产福利| 看国产成人h片视频| 亚洲一区免费观看| 日本欧美三级| 国产高清不卡av| 久久久91精品国产一区二区三区| www.九九热.com| 九九热爱视频精品视频| 久草视频免费在线播放| 91精品国产综合久久久蜜臀图片| 欧美a在线观看| 免费黄色在线看| 污污污污污污www网站免费| 久久久久久久久四区三区| 男男视频在线观看网站| 亚洲精品午夜久久久久久久| 亚洲高清视频一区| 在线h片观看| 91精品少妇一区二区三区蜜桃臀| 久久www免费人成精品| 青青久久av北条麻妃海外网| 亚洲人成电影网| 国语自产精品视频在线看一大j8| 亚洲不卡av一区二区三区| 久久精品国产一区二区三区肥胖| 国产色综合天天综合网| 国产成人一区二区三区影院| 久久久久免费看| 欧美精品一区二区三区高清aⅴ| 在线观看日韩羞羞视频| 国产亚洲欧美另类一区二区三区| 亚洲深夜激情| 国产精品99视频| 91大学生片黄在线观看| 久久先锋影音av鲁色资源网| 伊人成综合网伊人222| www.日本久久久久com.| 精品日产卡一卡二卡麻豆| 夜夜嗨一区二区三区| 无遮挡爽大片在线观看视频| 欧美丰满一区二区免费视频| 在线日韩影院| 色午夜这里只有精品| 久久久夜色精品亚洲| 成人网av.com/| 久中文字幕一区| 变态另类ts人妖一区二区| 日本欧美爱爱爱| 久久久久国色av免费观看性色| 午夜久久美女| 日韩三级不卡| 成人精品一二区| 欧美日韩国产亚洲沙发| 亚洲s码欧洲m码国产av| 亚欧美无遮挡hd高清在线视频| 免费在线观看91| 中文字幕日韩国产| 成人免费av片| 色视频精品视频在线观看| 久久发布国产伦子伦精品| 亚洲一区二区五区| 国产激情久久久久久熟女老人av| 91九色丨porny丨国产jk| 欧美黄色大片在线观看| 一区二区三区www污污污网站| 高清av中文在线字幕观看1| 成人免费福利片| 亚洲激情图片小说视频| 国产精品美女一区二区三区四区| 久久久久久久久久久久久av| 久热这里只有精品在线| 亚洲色图激情小说| 精品网站在线| 制服.丝袜.亚洲.另类.中文| 97久久夜色精品国产| 免费毛片网站在线观看| 国产精品国产三级国产普通话蜜臀| h片精品在线观看| 久久wwww| 波多野结衣天堂| 久久婷婷蜜乳一本欲蜜臀| 日韩在线观看视频一区二区三区| 免费观看亚洲天堂| 日韩有码片在线观看| 亚洲欧洲成人av每日更新| 国产精品入口麻豆免费| 91精品国产高清一区二区三区蜜臀| 亚洲综合自拍偷拍| 在线观看av的网址| 看女生喷水的网站在线观看| 国产美女娇喘av呻吟久久| 精品少妇一区二区三区免费观| 亚洲第九十九页| 国产大学生校花援交在线播放| 久久日一线二线三线suv| 日韩精品视频一区二区| 91久久久久国产一区二区| 日韩欧美成人一区| 欧美xxx网站|