开发者社区> 问答> 正文

如何使用develops?

如何使用develops?

展开
收起
中意521 2024-08-13 13:04:45 24 0
1 条回答
写回答
取消 提交回答
  • Jenkins用于实现持续集成和持续部署(CI/CD)流程,您可以在ACK集群中部署Jenkins,确保服务的高可用,并降低运维成本。本文介绍如何在ACK集群中部署Jenkins并通过简单的应用示例演示其构建和部署的过程。

    前提条件
    1.已创建Kubernetes集群。具体操作,请参见创建Kubernetes托管版集群。
    2.已通过kubectl连接到Kubernetes集群。
    具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群。
    3.确保kube-system命名空间下CoreDNS已正常运行。
    4.在无状态页面,选择kube-system命名空间,然后搜索coredns,确认容器组Pod状态正常。

    注意事项:

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

    步骤一:部署Jenkins
    执行以下命令,配置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集群在中国内地配置该Helm Repo时会稍微慢些,请您耐心等待。

    安装Jenkins。

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

    kubectl create ns cicd
    执行以下命令,将Jenkins部署至cicd命名空间中。

    helm -n cicd install jenkins jenkins/jenkins \
      --set persistence.storageClass="alicloud-disk-essd" \
      --set persistence.size="20Gi" \
      --set controller.serviceType="LoadBalancer"   \
      --set controller.admin.password="admin" 
    persistence.storageClass="alicloud-disk-available"
    

    必选项,将自动选择可用的云盘类型并创建云盘存储卷持久化存储jenkins_home目录文件。

    persistence.size="20Gi":必选项,阿里云ECS云盘的最小规格为20 GiB。

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

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

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

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

    kubectl -n cicd get po
    

    预期输出:

    NAME        READY   STATUS    RESTARTS   AGE
    jenkins-0   2/2     Running   0          3m3s
    

    浏览器访问Jenkins服务,并输入用户名和密码登录。

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

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

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

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

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

    pipeline

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

    在页面左侧导航栏中,单击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
    

    参考链接:https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/deploy-jenkins-in-an-ack-cluster-and-then-create-and-deploy-an-application

    2024-08-13 13:59:21
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载