先上配置檔案,有乙個大概的認識,再逐一解讀。
工作空間,就是乙個可以被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...