当前位置: 首页 > 网络应用技术

使用Jenkins和ArgoCD实施CI / CD

时间:2023-03-05 18:22:00 网络应用技术

  CI/CD并非陌生。大多数公司都有自己的CI/CD,但是今天我想向Jenkins和Gitops介绍以实现CI/CD。

  总体结构如下:

  所涉及的软件和版本信息如下:

  Kubernetes 1.17.9 Docker 19.03.13 Jenkins 2.249.3 ArgoCD 1.8.0 Gitlab社区版本11.8.1 Sonarqube社区版本8.5.1 trayfik 2.3.3代码仓库Alibaba cloud cloud Warehouse涉及

  软件安装在这里不是特定的安装代码。我将所有代码放在github上,地址:https://github.com/cool-ops/kubernetes-software-yaml.git

  因此,默认情况下已安装它,因此已安装软件。

  在系统管理中 - >系统配置 - >云

  系统设置 - >系统配置 - >电子邮件(1)设置管理员邮箱配置的SMTP服务

  我在这里有一个简单的Java测试代码,地址如下:https://gitee.com/jokerbai/springboot-hellowon.git.git.git.git

  它可以进口到自己的Gitlab仓库中。

  首先在gitlab上创建共享库。我在这里命名为Sharelibrary,如下所示:然后创建一个src/org/devops目录,并在此目录中创建一个文件。其内容的内容如下:build.groovy

  sendemail.groovy

  Sonarapi.groovy

  Sonarqube.groovy

  tools.groovy

  我创建了一个称为DevOps-CD的共享仓库,如下所示:

  然后在应用程序名称中创建一个目录并在目录中创建以下文件。这些内容如下。Service.yaml

  inmress.yaml

  部署

  kusomization.yaml

  (1)您需要将优惠券添加到Jenkins(2)在Jenkins的系统配置中配置共享库(系统管理 - >系统配置),然后单击应用程序并保存

  然后,我们可以使用简单的JenkinsFile测试共享库,以查看配置是否正确。

  在詹金斯上创建一个项目,如下:

  然后将以下代码放在底部的管道上:

  然后单击以保存并运行。如果看到输出颜色,则意味着共享库配置成功,如下所示:共享库配置在此处完成。

  整个Java Jenkinsfile如下:

  需要在Jenkins上创建两个优惠券,其中一个被称为Dockerhub,一个CI-DEVOPS和一个声纳Admin-user。

  DockerHub是登录镜仓库的用户名和密码。

  CI-DEVOPS是管理YAML仓库的用户名和密码。

  Sonar-Admin-User是管理Sonarqube的用户名和密码。

  然后将此Jenkinsfile保存到ShareLibrary的根目录中,并将其命名Java.jenkinsfile。

  在詹金斯(Jenkins)上创建一个新项目,如下所示:然后添加以下参数化。

  然后单击应用程序保存并运行。

  您还可以在Sonarqube上看到代码扫描的结果。

  将代码仓库添加到ARGOCD,如下所示:然后创建应用程序,如下所示:单击以创建,如下:单击IN并查看更多详细信息。

  ArgoCD有一个小错误。它的入口健康检查必须值得加载,否则不会通过,但不会影响使用。

  然后,您可以正常访问该应用程序。

  节点项目的Jenkinsfile相似。因为我没有测试案例,所以我没有测试。

  在jenkins中选择项目并在项目中配置gitlab触发器,如下所示:生成令牌,如下所示,在gitlab上配置集成在gitlab上。然后单击下面的测试以观察是否触发流量线。还可以通过修改仓库代码来测试它。

  CI/CD现在是企业的标准配置。这样做可以节省大量的人力和物质资源,尤其是简化许多重复的工作。

  本文是一个纯粹的操作步骤。在测试时,每个人都会对Jenkinsfile进行微妙的调整,但总体上没有问题。

  原始:https://juejin.cn/post/7101857890746499085