k8s與CICD 乙個完整的drone demo

2021-09-19 18:21:56 字數 1923 閱讀 6912

先上配置檔案,有乙個大概的認識,再逐一解讀。

工作空間,就是乙個可以被pipeline各個階段共享volume和工作路徑的東東,好處就是避免了各種cd和拷貝。由於該demo專案使用golang。所以設定路徑是/go/src/gogs.***.com/baa-cicd。

git plugin 是乙個預設的外掛程式,即使不配置,drone會自動配置,用來拉取**。

由於是golang專案。乙個命令go build即可。當然由於專案比較小,所以我提前用glide將依賴的包安裝到vendor目錄下了。否則應該定製自己安裝好glide的映象,或是在go build命令之前,執行 glide install 命令。當然此處也可以增加go test 對專案進行測試。

build:

image: golang:latest

commands:

- glide install

- go

build -o baa-cicd

- go

test -v

構建docker映象階段,我們這邊用harbor搭建了自己的私有registry。此處需要注意的是secrets: [ docker_username, docker_password ]這裡的設定。實際上有一些場景是,為了安全考慮,不想把使用者名稱和密碼暴露在配置檔案中,drone提供了secret ref的用法。在drone ui介面配置secret,如下:

然後在.drone.yml 裡通過secrets選項進行關聯即可。

當然這一步前提是要提供乙個dockerfile檔案。

最後實際收到通知效果:

具體**,我放到了github上。大家直接git clone 下來即可。

最後放一張整個build的圖。

本文**中文社群-

k8s與cicd--乙個完整的drone demo

k8s初識建立乙個pod

vim nginx.yaml apiversion v1 kind pod metadata name nginx labels web spec containers name nginx image nginx 1.13 ports containerport 80建立的命令 需要apiserv...

K8s手工建立乙個POD

mkdir opt yml p cd opt yml master節點操作 vim k8s pod.yml apiversion v1 kind pod metadata name nginx labels spec containers name nginx image 192.168.2.50 ...

K8S修改乙個節點的名字

部署了乙個k8s一主兩從,不幸的是忘記了初始化從節點的host name,node那一欄一長串的字串非常不友好,必須要解決這個問題。root izhp31kuvshz2kea5g99lpz kubectl get pods a o wide namespace name ready status r...