zoukankan      html  css  js  c++  java
  • Jenkins Coding笔记

    #From Ubuntu
    docker exec -ti jenkins /bin/bash
    
    #From Docker
    ssh-keygen
    

    域名: 如填写 coding

    描述: 如填写:coding仓库

    描述和Username 我都是填写 coding_jenkins
    Private key: 填入Jenkins 容器的私钥

    #From Docker jenikins Container
    
    #生成密钥
    ssh-keygen
    #查看公钥
    cat /var/jenkins_home/.ssh/id_rsa
    

    将公钥加入到coding个人资料中的公钥中,这样就可以访问当前工作空间的所有代码仓库了


    Jenkins pipeline git parameter

    Plugin: Git parameter

    pipeline {
        agent any
        environment {
          def DEPLOY_GIT_SSH_URL = "http://localhost:10011/test.git"
        }
        parameters {
            gitParameter name: 'TAG',
                         type: 'PT_TAG',
                         defaultValue: 'master'
        }
        stages {
            stage('pull code') {
                steps {
                  checkout([$class: 'GitSCM', branches: [[name: "${params.TAG}"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'fa16d707-070c-4462-9089-965bad493dd1', url: "${DEPLOY_GIT_SSH_URL}"]]])
                }
            }
    
    
            stage('publish to ten servers') {
              steps {
    
                script {
                  def SERVER_NODES = ["server1","server2"]
                  for (server_node in SERVER_NODES){
                    echo "部署服务器 ${server_node} 中"
                    sshPublisher(publishers: [sshPublisherDesc(configName: "${server_node}", transfers: [sshTransfer(cleanRemote: false, excludes: 'Jenkinsfile,README.md,CHANGELOG.md', execCommand: '''chmod 755 /var/www/html/test
    chmod 755 /var/www/html/test/* -R''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/var/www/html/test/', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '**/*')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
                  }
                }
    
              }
            }
        }
    }
    

    其中 credentialsId 是验证凭证id,可以在 系统管理 -> 凭据,就会看到 凭据列表,其中列表的 唯一标识中看到

    SERVER_NODES 数组中 元素是在 Jinkins 系统配置中, Publish over SSHSSH Server 中填写的名称(Name)。

    References

  • 相关阅读:
    Hive on Spark
    Mongodb添加副本及修改优先级
    RabbitMQ与Spring集成
    最简单的图文教程,几步完成Git的公私钥配置
    Idea Ant 打开发包
    Spring Web 项目Junit测试报错问题
    阿里云maven仓库地址,速度提升100倍
    Spring boot 学习
    JAVA开发常用工具包
    从无到有搭建SSM框架
  • 原文地址:https://www.cnblogs.com/fsong/p/14412666.html
Copyright © 2011-2022 走看看