golang的ci/cd持續集成部署實現

      網友投稿 1457 2025-04-01

      基本實現流程:

      用戶git代碼提交 ----》?Jenkins 根據 Dockerfile? + build.sh 腳本執行構建 ------》輸出 bin文件,完成容器鏡像打包構建? ?-------》 運行測試容器,提供測試? ?--------》 測試通過,更新鏡像到線上harbor倉庫------》 更新kubernets 資源文件,完成部署/升級應用。

      (注:代碼+Dockerfile+values.yaml 文件均放在 git倉庫中。)

      如下為Dockerfile示例:

      1、 Dockerfile:

      # BUILD 階段

      FROM golang:1.9 AS build

      #ENV project=app

      # 設置我們應用程序的工作目錄

      WORKDIR /go/src/app

      # 添加所有需要編譯的應用代碼

      COPY . /go/src/app

      # 編譯一個靜態的go應用(在二進制構建中包含C語言依賴庫)

      RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo .

      # 設置我們應用程序的啟動命令

      CMD ["./app"]

      # 生產階段

      FROM scratch AS prod

      # 從buil階段拷貝二進制文件

      COPY --from=build /go/src/app/app .

      EXPOSE 8080

      CMD ["./app"]

      2、valuse.yaml

      存放一些需要更新的字段,例如:

      服務名稱

      進程啟動命令命令

      需求的資源信息 (cpu /mem /disk )

      。。。

      (? ?Jenkins 根據用戶提供的 valuse? ?,執行build.sh 腳本,生成 k8s 需要的? manifest.yaml 文件 )

      3、 build.sh

      golang的ci/cd持續集成部署實現

      tag=`date +%Y%m%d%H%M%S`

      #構建鏡像

      docker build . -t?harbor/dev/app:$tag

      #運行測試容器

      docker run --name testgo -d -p 1111:8080?harbor/dev/app:$tag

      #測試驗證

      curl 10.188.61.101:1111

      #推送到鏡像倉庫

      docker push?harbor/dev/app:$tag

      #更新資源文件

      sed "s/app:latest/app:$tag/g"? values.conf? >online_manifest.yaml

      #部署到生產環境

      kubectl apply -f online_manifest.yaml

      此種方案優勢:

      1、生成的鏡像精簡,部署高效,節省磁盤空間。

      2、用戶git提交后,jenkins 可自動完成鏡像構建工作,減去人工干預。

      3、結果kubernetes,實現自動化部署。

      容器 鏡像服務

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel表格如何設置0不顯示
      下一篇:[工程] tmux的一些操作技巧
      相關文章
      亚洲高清无在码在线电影不卡 | 亚洲自偷精品视频自拍| 久久久久亚洲av毛片大| mm1313亚洲国产精品美女| 国产精品亚洲综合网站| 亚洲爆乳大丰满无码专区| 亚洲国产精品无码久久九九大片| 亚洲精品无码成人| 亚洲AV无码成人网站在线观看| 亚洲AV无码AV吞精久久| 国产精品亚洲综合一区在线观看| 亚洲av午夜国产精品无码中文字| 亚洲精品第一国产综合亚AV| 亚洲av无码成人影院一区| 一本色道久久88亚洲综合| 亚洲国产成人精品无码久久久久久综合 | 国产成人亚洲精品91专区手机| 亚洲高清国产拍精品青青草原| 亚洲日韩在线观看免费视频| 亚洲区日韩区无码区| 中文字幕亚洲图片| 国产亚洲精品无码成人| 亚洲精品少妇30p| 亚洲国产成人精品不卡青青草原| 亚洲视频在线观看免费视频| 亚洲三级在线免费观看| 亚洲五月综合缴情婷婷| 亚洲熟妇AV乱码在线观看| 亚洲国产成人精品无码区二本 | 久久亚洲精品无码VA大香大香| 亚洲精品免费在线| 中文文字幕文字幕亚洲色| 亚洲欧美黑人猛交群| 日韩精品成人亚洲专区| 久久久久无码专区亚洲av| 亚洲AV无码成人专区片在线观看| 91久久亚洲国产成人精品性色 | 精品久久久久久亚洲精品| 亚洲国产欧美日韩精品一区二区三区| 欧美日韩亚洲精品| 亚洲色一色噜一噜噜噜|