婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

Gogs+Jenkins+Docker 自動化部署.NetCore的方法步驟

熱門標簽:烏海智能電話機器人 在百度地圖標注車輛 400電話申請方案 藍點外呼系統 撫順移動400電話申請 威海人工外呼系統供應商 做外呼系統的公司違法嗎 寧夏房產智能外呼系統要多少錢 貴陽教育行業電話外呼系統

環境說明

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

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

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

sudo docker run hello-world

不同的系統安裝方式可以查閱 docker 官方安裝說明

Gogs安裝

Gogs 是一款用 Go 語言開發的輕量級極易搭建的自助 Git 服務。 選擇 Gogs 主要因為它相對于 Gitlab 動則幾個G的內用暫用率來說輕太多了。Gogs 會大大減低系統消耗,跑起來也就占用100mb內存。我的 Gogs 是跑在群暉上面的,效果都是一樣,都是在 Docker 中托管

拉取 Gogs 鏡像

sudo docker pull gogs/gogs

創建 Gogs 文件掛載路徑

mkdir -p /var/gogs

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

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

容器啟動后通過 http://xxxxxxxx:6080 進行 Gogs 的初始配置

數據庫類型建議選擇 linux 自帶的 SQLite3 ,支撐十幾個人左右的團隊使用足夠了。域名填寫 Gogs 所在服務器的域名或者 ip 地址。http 端口號和容器內部端口一致,應用 URL 填寫訪問 Gogs 的域名端口或 ip 端口,點擊安裝后注冊一個新用戶登陸即可

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

Gogs 官方文檔

Docker中托管.NetCore服務

新建一個 WebApi 項目

項目中增加一個 DockerFile 文件并且簡單配置

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

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

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

發布Api服務,如果發布文件中沒有 DockerFile 文件需要手動修改項目文件,發布成功后將發布文件 copy 到服務器指定的文件夾中

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

進入服務器剛 copy 的發布文件根路徑下,執行 docker build -t {REPOSITORY}:{TAG} . 命令 通過 DockerFile 來生成 Docker 鏡像文件,REPOSITORY 是鏡像的名字,TAG 是標簽。譬如 docker build -t demo:v1 .


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

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

執行后可以通過 docker ps 查看所有運行起來的容器狀態,需要查看所有容器可以使用 docker ps -a 命令

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

列舉一些docker常用命令

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

到這里服務已經在 Docker 完成了托管,但是每次發布都需要 build 新的鏡像,然后停止老的容器,在創建一個新的容器,無形中增加了工作量。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

查看運行狀態 systemctl status jenkins 正常會輸出如下內容

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

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

插件安裝進度,需要一些些時間

結束后創建管理賬號登錄即可,進入系統管理,選擇插件管理,搜索gogs插件后安裝。

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

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

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

jenkins 常用操作

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

使用Jenkins自動化

因為需要在服務器上 build 項目,所以需要安裝 .NetCore 環境,可以查閱 微軟官方文檔 自行安裝

把新建的項目推送到 Gogs 倉庫中后點擊倉庫高級設置

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

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

添加后重新點擊管理 Web 鉤子,選擇剛才新建的鉤子,點擊測試推送來驗證是否正常,拋出的異常如果是 job 未定義說明鉤子是正常的,如果是其他的異常可以查看推送地址是否正確,以及 Jenkins 上的 Gogs 插件是否正確安裝

回到 Jenkins 頁面,新建一個任務,任務名就是之前 Gogs 里面的 job 名字,選擇構建自由風格的軟件項目

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

構建選擇執行shell腳本,腳本也可以放在服務器上這里調用就行,為了方便就直接寫在這里


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

# 重新build后生成鏡像并運行容器
cd DemoWebApi/
# 發布到到指定路徑
dotnet publish -c Release -o /publish
# 進入路徑生成鏡像后啟動容器
cd /publish
docker build -t demo:v1 .
docker run --name demoapi -dp 5009:80/tcp demo:v1 

保存后點擊立即構建驗證一下,如果構建失敗可以在控制臺輸出中查看詳細構建過程和錯誤信息

回到 Gogs 的管理 Web 鉤子頁面重新推送,成功后 Jenkins 會自動構建發布,之后只要 Push 到 Master 分支就會自動發布


總結

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

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

標簽:慶陽 泰州 周口 蕪湖 那曲 朝陽 松原 銅川

巨人網絡通訊聲明:本文標題《Gogs+Jenkins+Docker 自動化部署.NetCore的方法步驟》,本文關鍵詞  Gogs+Jenkins+Docker,自動化,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Gogs+Jenkins+Docker 自動化部署.NetCore的方法步驟》相關的同類信息!
  • 本頁收集關于Gogs+Jenkins+Docker 自動化部署.NetCore的方法步驟的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产一区二区精品久久91| 欧美大片一区二区| 在线观看免费成人| 亚洲国产经典视频| 久久成人羞羞网站| 91精品国产aⅴ一区二区| 国产精品国产三级国产aⅴ中文| 日韩精品亚洲一区二区三区免费| 欧美最猛性xxxxx直播| 伊人开心综合网| 欧美三级电影在线看| 中文字幕成人在线观看| 国产精品亚洲成人| 中文字幕中文字幕一区| 成人蜜臀av电影| 精品一区二区综合| 久久精品一区二区| 热久久久久久久| 精品国产免费视频| 成人免费毛片片v| 伊人色综合久久天天人手人婷| 欧美日韩一区二区在线观看视频| 日韩av一区二| 久久午夜免费电影| 91蜜桃免费观看视频| 亚洲精品视频在线看| 91精品国产综合久久久蜜臀粉嫩| 狠狠v欧美v日韩v亚洲ⅴ| 久久九九久久九九| 欧美在线视频不卡| 日韩电影在线一区二区三区| 久久综合给合久久狠狠狠97色69| 国产成人三级在线观看| 中文字幕永久在线不卡| 欧美性色综合网| 精品一区二区三区香蕉蜜桃| 久久久久99精品一区| 在线视频一区二区免费| 日韩国产一二三区| 国产在线麻豆精品观看| 欧美高清在线一区| 99精品视频在线播放观看| 麻豆久久久久久| 中文字幕av资源一区| 91高清在线观看| 亚洲第一成人在线| 日韩免费观看2025年上映的电影| 丰满白嫩尤物一区二区| 亚洲黄色性网站| 欧美精品一区二区三| 99精品视频一区| 美脚の诱脚舐め脚责91| 亚洲精品亚洲人成人网| 欧美高清视频在线高清观看mv色露露十八| 国产在线精品免费av| 视频在线在亚洲| 中国色在线观看另类| 久久综合五月天婷婷伊人| 欧美日韩一区高清| 一本一道综合狠狠老| 高清不卡在线观看| 韩国av一区二区三区在线观看| 一区二区三区久久| 亚洲精品水蜜桃| 亚洲丝袜精品丝袜在线| 欧美激情一区不卡| 久久久噜噜噜久久人人看| 精品国产亚洲在线| 日韩欧美综合在线| 5月丁香婷婷综合| 在线播放日韩导航| 91.com在线观看| 9191国产精品| 国产亚洲欧美日韩在线一区| 欧美va在线播放| 91精选在线观看| 91精品久久久久久久91蜜桃| 91精品1区2区| 欧美三级日本三级少妇99| 欧美综合亚洲图片综合区| 色欧美乱欧美15图片| 欧美综合天天夜夜久久| 欧美日韩你懂的| 欧美久久久久久蜜桃| 5月丁香婷婷综合| 久久蜜桃av一区精品变态类天堂| 欧美精彩视频一区二区三区| 国产精品久久久久精k8| 樱花草国产18久久久久| 日本亚洲免费观看| 久久色在线观看| 国产精品情趣视频| 亚洲一区二区视频| 日韩精彩视频在线观看| 激情偷乱视频一区二区三区| 成人免费毛片嘿嘿连载视频| 91激情在线视频| 日韩一区二区三区高清免费看看| 久久久久高清精品| 一区二区三区日韩欧美精品| 亚洲aaa精品| 国产一区二区在线免费观看| av在线一区二区三区| 欧美人与性动xxxx| 欧美激情一区二区三区蜜桃视频| 亚洲欧美电影一区二区| 免费在线看一区| 成人黄页毛片网站| 91精品国产入口| 26uuu久久天堂性欧美| 一区二区三区四区国产精品| 精品一区二区免费视频| 91猫先生在线| 久久综合九色综合97婷婷女人| 最新热久久免费视频| 日产国产高清一区二区三区| 高清beeg欧美| 欧美精品xxxxbbbb| 国产精品护士白丝一区av| 日韩影院精彩在线| 97se亚洲国产综合自在线| 在线观看91av| 国产精品久久久久aaaa| 日韩国产成人精品| 成人午夜视频免费看| 91精品国产一区二区三区| 久久这里只有精品视频网| 一区二区三区欧美日| 成人免费视频播放| 日韩一级大片在线观看| 亚洲欧洲99久久| 91论坛在线播放| 久久精品国产精品亚洲红杏| 成人免费在线视频观看| 欧美福利视频一区| 成人一二三区视频| 国产成人免费在线| 国产美女在线观看一区| 国产精品一区二区黑丝| 懂色av一区二区三区免费看| 99久久99久久精品免费看蜜桃| 91毛片在线观看| 久久夜色精品国产欧美乱极品| 国产精品人成在线观看免费 | 欧美一区二区三区人| 欧美日韩亚洲综合一区二区三区| 欧美三级乱人伦电影| 亚洲精品一区二区三区影院 | 亚洲天堂免费看| 自拍偷拍国产精品| 亚洲国产精品久久不卡毛片 | 91麻豆精品国产自产在线观看一区| 日韩精品资源二区在线| 免费观看一级欧美片| 91精品国产综合久久精品图片| 欧美美女一区二区在线观看| 中文字幕在线不卡视频| 亚洲色图欧美在线| 樱花影视一区二区| 日韩成人免费电影| 日韩精品一区二区三区视频播放 | 日本伊人色综合网| 日韩激情av在线| 开心九九激情九九欧美日韩精美视频电影 | 亚洲精品国久久99热| 国产一区二区三区免费播放| 国产专区欧美精品| 欧美大尺度电影在线| 国产一区在线观看视频| 亚洲国产精品av| 欧美三区免费完整视频在线观看| 三级影片在线观看欧美日韩一区二区| 欧美片网站yy| 国产成人鲁色资源国产91色综| 日韩不卡一区二区三区| 94色蜜桃网一区二区三区| 91丨九色丨蝌蚪富婆spa| 日韩欧美在线1卡| 亚洲黄色片在线观看| 国产欧美一区二区三区沐欲| 亚洲一区二区中文在线| 亚洲精品一区二区在线观看| 香蕉加勒比综合久久| av中文字幕一区| 精品美女在线观看| 色综合视频在线观看| 国产女人水真多18毛片18精品视频| 天堂va蜜桃一区二区三区| 91视频你懂的| 91论坛在线播放| 精品久久国产老人久久综合| 亚洲综合在线五月| 成人黄色av网站在线| 久久午夜国产精品| 久久97超碰色| 欧美老肥妇做.爰bbww| 亚洲猫色日本管| 久久夜色精品一区| 国产精品一区二区三区四区| 久久综合九色综合97婷婷女人|