Google容器构建器,为新分支创建新的命名空间

时间:2018-02-01 01:23:37

标签: git namespaces kubernetes google-container-builder

我正在尝试开发自动化构建。

所以我们想要实现的是,只要开发人员将代码推送到新分支,它就会根据该分支名称在kubernetes中创建一个新的命名空间。然后我将在该命名空间中进行所有部署。

创建命名空间的最佳方法是什么?

 - name: 'gcr.io/cloud-builders/kubectl'
   args:
     - 'create'
     - 'namespace'
     - '${BRANCH_NAME}
存在命名空间时,

会出现问题。所以,我打算使用文件,然后我可以通过

应用它
 - name: 'gcr.io/cloud-builders/kubectl'
   args:
     - 'apply'
     - '-f'
     - 'filename.yaml'

这里是filename.yaml:

apiVersion: v1
kind: Namespace
metadata:
  name: '${<BRANCH>}'

现在我的问题是,如果我采用第二种方法,如何传递这个分支名称。如果我采用第一种方法,我不知道如何检查名称空间是否存在。

请帮忙。

感谢。

1 个答案:

答案 0 :(得分:1)

第二种方法

假设您使用了以下Student.select(:id, "CONCAT(first_name,' ',last_name) as name").find(201410204) 2.4.1 :073 > Student.select(:id, "CONCAT(first_name,' ',last_name) as name").find(23000) Student Load (0.9ms) SELECT "students"."id", CONCAT(first_name,' ',last_name) as name FROM "students" WHERE "students"."id" = $1 LIMIT $2 [["id", 23000], ["LIMIT", 1]] => #<Student id: 23000, name: "Joe Blow"> 文件

filename.yaml

这里,apiVersion: v1 kind: Namespace metadata: name: $BRANCH 是你YAML中的ENV变量

现在你需要用ENV值替换这个变量。

$BRANCH