azure - 在 Azure 上设置 Jenkins、Docker、Kubernetes ci/cd

标签 azure docker jenkins kubernetes

我想使用 Jenkins、Docker、Kubernetes 在 Azure 上创建 CI/CD,从简单开始。

我已经完成了投票应用教程教程:为 Azure 容器服务 (AKS) 准备应用程序 Azure tutorial本教程涵盖以下步骤:

1 - Prepare application for AKS 2 - Create container registry ACS 3 -Create Kubernetes cluster 4 - Run application

应用程序正在运行。

我想做的下一步是集成 Jenkins。我正在遵循教程使用 Jenkins 和 Azure 容器服务进行持续部署,但我无法遵循该教程,因为它太高级,无法理解文件中的命令。例如,他们使用文件deploy-jenkins-vm.sh部署jenkins的方式

相反,我转到 Azure 上的市场并创建“Jenkins”,并通过 Azure UI 设置配置。 Jenkins 现在运行在 localhost:8080

摘自另一个视频教程 Hands-on Docker, Jenkins CI/CD Azure我将集群 kubeconfig 共享到我的远程 jenkins 主机:

$ sudo scp ~/.kube/config [email protected]:/var/lib/jenkins/config

它成功了。

然后,他们在同一个视频教程中运行一个 bash 文件

#!/bin/bash
# Jenkins Bootstrap for ACS Kubernetes
set -x #echo on
wget https://raw.githubusercontent.com/mekenthompson/kubectl/master/kubectl -O ~/kubectl
chmod +x kubectl
sudo cp kubectl /usr/local/bin/kubectl
sudo mkdir /home/tomcat/.kube
sudo cp config /home/tomcat/.kube/config
sudo chown -R tomcat:tomcat /home/tomcat/.kube
sudo usermod -aG docker tomcat
sudo /opt/bitnami/ctlscript.sh restart
set +x #echo off

来自存储库here 。它对我不起作用

+ chmod +x kubectl
+ sudo cp kubectl /usr/local/bin/kubectl
+ sudo mkdir /home/tomcat/.kube
mkdir: cannot create directory '/home/tomcat/.kube': No such file or directory
+ sudo cp config /home/tomcat/.kube/config
cp: cannot stat 'config': No such file or directory
+ sudo chown -R tomcat:tomcat /home/tomcat/.kube
chown: invalid user: 'tomcat:tomcat'
+ sudo usermod -aG docker tomcat
usermod: group 'docker' does not exist
+ sudo /opt/bitnami/ctlscript.sh restart
sudo: /opt/bitnami/ctlscript.sh: command not found
+ set +x

但我的问题是,我将 de kubeconfig 共享到我的 jenkins 远程主机后下一步是什么。我只是复制和粘贴,但不知道发生了什么

在我看来,这些教程太先进了,我不知道发生了什么,或者到底应该做什么。

从 Azure 投票教程,他们有另一个文件,用于设置 Jenkins config-jenkins.sh ,但我也不知道需要做什么

我到底应该做什么,你知道其他资源或链接吗?

我已经有了 jenkins、Azure 容器注册表、Azure 容器服务和投票应用程序。

最佳答案

我们正在开发一个名为 Jenkins X 的开源项目这是 Jenkins 基金会提出的一个子项目,旨在使用 Jenkins 管道和 GitOps 在 Kubernetes 上实现 CI/CD 自动化,以便跨环境进行推广。

如果您想了解如何使用 GitOps 在 Kubernetes 上的多个环境中实现 CI/CD 自动化,以在环境之间进行升级并在 Pull 请求上预览环境,您可能需要查看 my recent talk on Jenkins X at DevOxx UK我在 GKE 上做了一个现场演示。尽管 Jenkins X 可以在 AWS, AKS and GKE and other kubernetes clusters too 上运行.

关于azure - 在 Azure 上设置 Jenkins、Docker、Kubernetes ci/cd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50019861/

相关文章:

linux - Docker 无法在 Windows 上挂载文件夹

java - 如何使用Java远程登录Jenkins服务器?

jenkins - 在控制台输出中遇到某些文本时停止/中止构建

jenkins - 如何将 Git SSH 凭证传递给 Jenkins 中的 Gradle 发布插件?

asp.net-mvc - 在 MVC 3 中删除 Azure Blob

azure - ARM REST API 中的多个资源过滤器

azure - 通过 ARM 模板将读取器角色分配给存储帐户时遇到问题

azure - 带有空格参数的 ARM 模板自定义脚本扩展

windows - 在dockerfile中多次切换转义字符

docker - GCP Cloud Run 无法从其他项目的 Artifact Registry 中拉取镜像