赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. ACK Serverless集群
  4. 实践教程
  5. 在ACK Serverless集群中部署Jenkins并完成应用构建和部署

在ACK Serverless集群中部署Jenkins并完成应用构建和部署

  • 实践教程
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

本文介绍如何在阿里云ACK Serverless集群中部署Jenkins并通过简单的应用示例演示其构建和部署的过程。

前提条件

  • 已创建ACK Serverless集群。具体操作,请参见创建ACK Serverless集群。

  • 已通过kubectl连接Kubernetes集群。具体操作,请参见通过kubectl连接Kubernetes集群。

注意事项

Jenkins系统的维护由开发者自行负责,此部分不提供企业级的技术支持。

步骤一:部署Jenkins

  1. 执行以下命令,配置Jenkins Helm Repo。

    helm repo add jenkins https://charts.jenkins.io
    helm repo update

    预期输出:

    Hang tight while we grab the latest from your chart repositories...
    ...Successfully got an update from the "jenkins" chart repository
    Update Complete. ⎈Happy Helming!⎈
    说明

    由于以上仓库属于海外Helm仓库,ACK Serverless集群在中国内地配置该Helm Repo时会稍微慢些,请您耐心等待。

  2. 安装Jenkins。

    1. 执行以下命令,创建命名空间cicd。

      kubectl create ns cicd
    2. 创建NAS共享存储卷。

      共享存储卷用于保存Jenkins home中的数据,否则Jenkins Master Pod重启后,Jenkins的所有配置将会丢失。

      • 当您选择CSI插件时,创建具体操作,请参见使用NAS静态存储卷。

      • 当您选择Flexvolume插件时,创建具体操作,请参见使用NAS静态存储卷。

    3. 执行以下命令,将Jenkins部署至cicd命名空间中。

      helm -n cicd install jenkins jenkins/jenkins \
        --set persistence.existingClaim=pvc-nas \
        --set controller.serviceType="LoadBalancer"   \
        --set controller.adminPassword="admin"
      • persistence.existingClaim=pvc-nas:必选项,在cicd命名空间下创建的NAS存储卷的PVC名称为pvc-nas。

      • controller.serviceType="LoadBalancer":可选项,默认为ClusterIP类型。

      • controller.adminPassword="admin":可选项,默认将生成随机密码。随机密码获取方式请参见如何通过LoadBalancer访问Jenkins服务以及获取默认随机密码。

      更多部署相关参数,请参见helm-charts。

    4. 执行以下命令,查看并等待Jenkins Pod运行正常。

      kubectl -n cicd get po

      预期输出:

      NAME        READY   STATUS    RESTARTS   AGE
      jenkins-0   2/2     Running   0          3m3s
  3. 浏览器访问Jenkins服务,并输入用户名和密码登录。

    更多信息,请参见如何通过LoadBalancer访问Jenkins服务以及获取默认随机密码。

步骤二:创建流水线任务

以创建first-pipeline流水线任务为例,在构建流水线时,Jenkins会默认从当前ACK Serverless集群中动态启动一个Slave Pod并执行构建任务,构建任务执行完毕后会立即释放该Slave Pod。更多Jenkins配置信息,请参见Jenkins。

  1. 登录Jenkins,在左侧导航栏单击New Item。

  2. 在Enter an item name区域,输入名称first-pipeline,选择Pipeline类型,然后单击OK。

  3. 在页面顶部单击Pipeline页签,选择Hello World模板,然后单击Save。

    pipeline
  4. 在页面左侧导航栏中,单击Build Now执行构建。

  5. 在页面左侧导航栏中,单击Build History,然后单击1#进入该流水线详情页面,然后单击Console Output即可查看流水线构建结果。

如何通过LoadBalancer访问Jenkins服务以及获取默认随机密码

  • Jenkins的默认服务类型是ClusterIP类型,如需使用LoadBalancer暴露服务,请执行以下命令。

    kubectl -n cicd patch svc jenkins -p '{"spec": {"type": "LoadBalancer"}}'
  • 如果您在部署Jenkins时未指定登录密码,请执行以下命令,获取Jenkins默认随机密码。

    kubectl -n cicd exec  -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo
相关文章

ACK Serverless弹性低成本CICD 2025-04-18 14:52

本文介绍阿里云容器服务Serverless版弹性低成本的CI/CD(持续集成和持续交付)的场景描述、方案优势、解决问题、架构图及操作参考链接。 场景描述

使用ECI搭建WordPress应用 2025-04-18 14:52

ECI支持使用Cloud Shell来管理。本文以搭建WordPress应用为例,介绍如何使用Cloud Shell来创建ACK Serverless集群,并快速创建ECI实例来部署容器应用。

使用ECI运行Spark作业 2025-04-18 14:52

在Kubernetes集群中使用ECI来运行Spark作业具有弹性伸缩、自动化部署、高可用性等优势,可以提高Spark作业的运行效率和稳定性。本文介绍如何在ACK Serverless集群中安装Spark Operator,使用ECI来运行Spark作业。

使用ECI运行TensorFlow任务 2025-04-18 14:52

您可以将AI训练任务所需的软件环境容器化,然后在ECI上执行训练任务,在解决环境搭建复杂问题的同时,可以只为运行时间付费,从而降低成本,提升效率。本文以一个Github上基于GPU的TensorFlow训练任务为例,介绍如何基于ACK Serverless集群,使用ECI来运行训练任务。

使用抢占式ECI实例运行Job任务 2025-04-18 14:52

ECI支持抢占式实例,对于短时间运行的Job任务,以及部分扩展性和容错率高的无状态应用(例如可弹性伸缩的Web站点服务),使用抢占式实例可以有效地节约实例使用成本。本文以Job任务为例,演示如何创建抢占式实例类型的ECI Pod来运行Job任务。 背景信息

在ACK Serverless集群中部署Jenkins并完成应用构建和部署 2025-04-18 14:52

本文介绍如何在阿里云ACK Serverless集群中部署Jenkins并通过简单的应用示例演示其构建和部署的过程。 前提条件

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号