Herramientas de usuario

Herramientas del sitio


wiki2:jenkins

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
wiki2:jenkins [2021/01/28 17:58]
alfred [Basic one]
wiki2:jenkins [2021/02/10 11:53] (actual)
Línea 122: Línea 122:
 ==== Útiles ==== ==== Útiles ====
  
 +  * https://​www.jenkins.io/​doc/​book/​pipeline/​jenkinsfile/​
 +  * https://​www.jenkins.io/​doc/​book/​pipeline/​syntax/​
 +
 +  * ''​checkout scm''​ para obtener el código del SCM.
   * ''​sh''​ para ejecutar un comando shell.   * ''​sh''​ para ejecutar un comando shell.
   * ''​sleep''​ para dormir unos segundos.   * ''​sleep''​ para dormir unos segundos.
Línea 127: Línea 131:
  
  
 +=== Definir variables ===
 +<​code>​
 +def docker_registry = '​https://​118864902010.dkr.ecr.us-east-1.amazonaws.com';​
 +</​code>​
 +
 +=== String format ===
 +<​code>​
 +def docker_registry = '​https://​118864902010.dkr.ecr.us-east-1.amazonaws.com';​
 +def docker_registry_credential = '​ecr:​us-east-1:​AWSJenkins';​
 +
 +pipeline {
 +    agent any
 +    environment {
 +        PYPI_CREDS = credentials('​pip_jenkins'​)
 +    }
 +    stages {
 +        stage('​Clone'​) {
 +            steps {
 +                echo docker_registry
 +                echo "a: ${docker_registry}" ​   // Importarte las dobles comillas
 +            }
 +        }
 +    }
 +}
 +</​code>​
 +
 +=== Definir funciones ===
 +<​code>​
 +
 +...
 +post {
 +        failure {
 +            notifyBuild(currentBuild.result);​
 +        }
 +}
 +...
 +
 +def notifyBuild(String buildStatus = '​STARTED'​) {
 +    // build status of null means successful
 +    buildStatus = buildStatus ?: '​SUCCESSFUL'​
 +
 +    // Default values
 +    def recipientProviders = [[$class: '​DevelopersRecipientProvider'​]]
 +    def colorName = '​RED'​
 +    def colorCode = '#​FF0000'​
 +    def subject = "​${buildStatus}:​ ${env.JOB_NAME} #​${env.BUILD_NUMBER}"​
 +    def summary = "​${subject} (${env.BUILD_URL})"​
 +    def details = """<​p>​STARTED:​ Job '​${env.JOB_NAME} [${env.BUILD_NUMBER}]':</​p>​
 +    <​p>​Check console output at "<a href="​${env.BUILD_URL}">​${env.JOB_NAME} [${env.BUILD_NUMBER}]</​a>"</​p>"""​
 +
 +    // Override default values based on build status
 +    if (buildStatus == '​STARTED'​) {
 +        color = '​YELLOW'​
 +        colorCode = '#​FFFF00'​
 +    } else if (buildStatus == '​SUCCESSFUL'​) {
 +        color = '​GREEN'​
 +        colorCode = '#​00FF00'​
 +    } else {
 +        color = '​RED'​
 +        colorCode = '#​FF0000'​
 +        recipientProviders = [[$class: '​CulpritsRecipientProvider'​],​ [$class: '​RequesterRecipientProvider'​]]
 +    }
 +
 +    // Send notifications
 +    slackSend(color:​ colorCode, message: summary)
 +
 +    emailext(
 +        subject: "​[Jenkins] ${subject}",​
 +        mimeType: '​text/​html',​
 +        body: '''​${JELLY_SCRIPT,​template="​html"​}''',​
 +        recipientProviders:​ recipientProviders
 +    )
 +}
  
  
 +</​code>​
 ===== Gotchas ===== ===== Gotchas =====
  
wiki2/jenkins.1611856720.txt.gz · Última modificación: 2021/01/28 18:58 (editor externo)