jenkins在gcp上的最佳实践

如何在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。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章