如何在gcp上搭建一個jenkins?
sorry,我也想知道。哈哈哈,上當了吧,不能全是乾貨的好吧。
華麗麗的分割線===============================================
具體內容會更新到github上,稍後上傳github地址。敬請期待……
如何部署一個jenkins?production級的,如何把jenkins部署在k8s內?今天就要解決這兩個問題:
如何部署一個production級別的jenkins?
如何部署jenkins到gcp上?涉及到如果在gcp上部署一個service以及如何在jenkins上引入gke上的pod作爲node
先說這個,上面的是基礎,這個有現成的案例:
兩方面,首先在gcp上創建kubernetes,這個kubernetes是生成了一個cloudbees(商業版的jenkins)的service然後在jenkins裏配置引用gcp上的鏡像作爲pod template。可能需要在jenkins上安裝插件。
k8s上部署cloudbees的過程:先創建一個cluster,然後創建service,之前要推進一堆的鏡像維護在gcr上(gcp的container registry)。這些全部都是通過terraform創建的,terraform是幹啥的?他篇介紹terraform的具體用法。terraform中最重要的是通過命令執行一個yaml
還有一個前提,gcp的登錄credential配置:
搭建cli環境(SDK)並使用teraform操作:
1.安裝google sdk:https://cloud.google.com/sdk/docs/downloads-yum,直接yum安裝未必能安裝成功,要麼網絡問題要麼沒有那個包,需要按照文檔內配置一個yum的源
2.配置credential:採用service account(IAM下的service account可以找到,選中或者新增一個,每創建一個就會自動下載一個private key的json文件)的方式進行授權。具體方法:
命令:gcloud auth activate-service-account --key-file xxx.json即可;
或者配置個變量然後……
export GOOGLE_PROJECT=g-dso-ksc-cloudbees
export GOOGLE_CREDENTIALS=account.json
還要配置project
通過terraform操作gcp,在gke上創建cloudbees服務。的過程:
1.先配置backend的路徑用於存儲生成的狀態文件,即state的存儲路徑,語法如下:
terraform {
backend "gcs" {
bucket = "xxxxx"
prefix = "xxx/區域/路徑一/dev/xxxxx"
region = "xxxx"
}
}
2.創建一個google的service account,這個類似於一個user,用來操作這個service的user。
2.創建cluster。
3.創建service。