栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

jenkins常用方法

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jenkins常用方法

1. environment
  • 定义变量
   environment {
       APP_NAME="gateway"
       ENV="dev"
       CREDENTIALS_ID="k8s-dev"
       NAMESPACE="default"
       API_URL='https://10.10.10.10:6443'
   }
2. try catch
  • 忽略错误
   stage( 'Preview' ) {
    sh """
      sed -i 's@IMAGE-TAG@$IMAGE-TAG@g' $APP_NAME/overlays/$ENV/kustomization.yaml
      kubectl kustomize $APP_NAME/overlays/$ENV
    """
  }
  
  stage( 'deploy' ) { 
    try {
      withKubeConfig(credentialsId: "$CREDENTIALS_ID", namespace: "$NAMESPACE", serverUrl: "$API_URL") {
        sh "kubectl apply -k $APP_NAME/overlays/$ENV"
	  }
    }
    catch(ex){
      echo ex.getMessage()
    }
3. 凭据使用 3.1 密码管理
# 需要创建一个Username with password类型的凭据,使用如下:
JFROG_CREDS = credentials('pry-images')

# 调用JFROG_CREDS_USR表示用户名,JFROG_CREDS_PSW表示密码
${JFROG_CREDS_USR}
${JFROG_CREDS_PSW}

# 案例,登陆镜像仓库
docker login -u ${JFROG_CREDS_USR} -p ${JFROG_CREDS_PSW} https://www.xxx.com
3.2 代码仓库
# 创建Username with password类型的凭据

node{
    stage("check out"){
         git  credentialsId: '3c210def-c000-4e2a-9b2d-838986a6b172', url: 'https://github.com/mrtylerzhou/gitShow.git'
    }
}
3.3 k8s

官网

  • 如上面try catch,具体连接k8s集群,如上面官网
withKubeConfig(credentialsId: "$CREDENTIALS_ID", namespace: "$NAMESPACE", serverUrl: "$API_URL")
4. post
  • 声明式流水线通过其post部分支持健壮的失败处理,允许声明多个不同的“post条件”。 例如: always, unstable, success, failure和changed
    • always: 不管管道或stage的运行完成状态如何,在post部分运行这些步骤
    • unstable: 如果当前管道或阶段的运行状态为“不稳定”状态,通常是由测试失败、代码违规等引起的,那么只在post中运行这些步骤
    • success: 只有当当前管道或阶段的运行具有“成功”状态时,才运行post中的步骤
    • failure: 只有在当前管道或阶段的运行有“失败”状态时才运行post中的步骤
    • changed: 如果当前管道或阶段的运行与之前的运行有不同的完成状态,则只运行post中的步骤
pipeline {
    agent any
    stages {
        stage('Test') {
            steps {
                sh 'make check'
            }
        }
    }
    post {
        always {
            junit '**/target/*.xml'
        }
        failure {
            mail to: team@example.com, subject: 'The Pipeline failed :('
        }
        success {
            echo 'is ok'
        }
    }
}
5. parameters
  • 一个可选的参数列表,以提示提交者提供
    • name: 参数名称
    • defaultValue: 默认值
    • description; 参数描述
pipeline {
    agent any
    
    parameters {
        string( name: 'PERSON',
            defaultValue: '',
            description: '''
            xxx
            xxxx
            '''
        )
    }
    
    stages {
        stage('Example') {
            steps {
                echo "Hello ${params.PERSON}"
            }
        }
6. jenkins拉不下代码
  • Jenkins报错 ERROR: Error fetching remote repo 'origin', 凭据和认证信息也没有修改过,但还是拉不下代码,可以清理下Jenkins的工作空间
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/679275.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号