如何从詹金斯不断部署到Kubernetes

时间:2019-05-28 19:57:14

标签: jenkins kubernetes gitlab

我在本地计算机上有一个Maven项目,在仓库中有一个docker映像,我使用gitlab和jenkins使构建自动化,现在我想用当前设置继续部署到Kubernetes。我不知道如何做到这一点。任何输入将不胜感激。

我的Yaml文件看起来像这样

apiVersion: v1
kind: Pod
metadata:
  name: client-pod
  labels:
    component: web
spec:
  containers:
    - name: client
      image: <image>
      ports:
        - containerPort: 3000

3 个答案:

答案 0 :(得分:0)

最简单的方法是设置新图像的名称。参见here

kubectl --record deployment.apps/nginx-deployment set image deployment.v1.apps/nginx-deployment nginx=nginx:1.9.1

您将需要从gitlab / Jenkins到群集的访问权限。

另一种选择是使用某种Kubernetes部署工具,例如helm或任何其他solution。这种情况将在更复杂的情况下为您提供帮助,在这些情况下您还想更新配置文件(k8s yamls)。

答案 1 :(得分:0)

一旦图像被构建并推送到容器存储库中,您只需要设置新图像

>>> docker build -t repo-name/whatever-app:<version>
>>> docker push repo-name/whatever-app:<version>
>>> kubectl set image deployment/my-deployment mycontainer=repo-name/whatever-app:<version>

答案 2 :(得分:0)

您可以使用this示例性的jenkins管道来构建您的dockerized maven-app并将其部署到带舵的Kubernetes。它包含以下步骤:

  1. Git克隆和设置
  2. 构建和本地测试
  3. 发布Docker和Helm
  4. 部署以进行开发和测试
  5. 部署到暂存和测试
  6. (可选)部署到生产和测试

它认为通过Jenkins和Kubernets实现CI / CD是一个不错的起点。