k8s cicd (jenkins + gitops)

本文详细介绍了使用Jenkins进行持续集成和持续部署(CI/CD)的具体配置示例,包括Jenkinsfile的环境设置、参数定义、构建流程,以及如何利用Harbor作为镜像仓库。同时,探讨了自定义Jenkins slave镜像的方法,并概述了Jenkins和GitOps的部署策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ci:jenkins  cd:gitops  image repository:harbor

1jenkinsfile配置示例

 environment {
     K8S_CONFIG = credentials('jenkins-k8s-config')
     GIT_TAG = "1.0.0-SNAPSHOT"
 }
 parameters {
     string(name: 'HARBOR_HOST', defaultValue: '10.1.53.65:5000', description: 'harbor仓库地址')
     string(name: 'DOCKER_IMAGE', defaultValue: 'aosom-pop/stock', description: 'docker镜像名')
     string(name: 'APP_NAME', defaultValue: 'stock', description: 'k8s中标签名')
     string(name: 'K8S_NAMESPACE', defaultValue: 'dev', description: 'k8s的namespace名称')
 }

 def label = "jenkins2-jenkins-slave"
 podTemplate(label: label, cloud: 'kubernetes') {
 node ('jenkins2-jenkins-slave'){
   stage('maven build'){
      container('jnlp') {
                 checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'gitsshkey', url: 'ssh://git@git.aosom.com.cn:8899/aosom/pop_products.git']]])
                 sh "docker login 10.1.53.65:5000 -u admin -p Harbor12345 "
                 sh 'mvn clean package -Dfile.encoding=UTF-8 -DskipTests=true'

     }
   }
   
 }
}

 

2jenkins slave使用自定义镜像

10.1.53.65:5000/aosom-pop/jnlp-slave:1.0.0

3jnlp-slave:1.0.0 dockerfile

FROM jenkins/jnlp-slave:3.27-1

MAINTAINER HXP

USER root
#ADD apache-maven-3.6.2-bin.tar.gz /opt/
#RUN echo -e "\n">>~/.bash_profile && echo -e "export M2_HOME=/opt/apache-maven-3.6.2\n" >> ~/.bash_profile \
# && echo "export PATH=$PATH:$M2_HOME/bin">>~/.bash_profile && . ~/.bash_profile && ln -s /opt/apache-maven-3.6.2/bin/mvn /usr/bin/mvn
RUN apt-get update && apt-get -y install maven
ADD config.json /root/.docker/
ADD config /root/.kube/
ADD kubectl /usr/bin/
RUN chmod 777 /usr/bin/kubectl

USER root

ENTRYPOINT ["jenkins-slave"]

 

3jenkins部署方式

/var/jenkins_home 挂在到pvc

采用helm方式部署

4gitops部署方式

采用helm方式部署flux

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值