2016-06-08 17 views
3

Ich migriere von Jenkins 1.x zu Jenkins 2. Ich möchte eine Anwendung mit Jenkinsfile erstellen und bereitstellen. Ich bin in der Lage, Großanwendung zu erstellen, aber ich bin verwirrt über die Bereitstellung von Anwendungen über AWS Codedeploy mit Jenkinsfile.Anwendung mit Jenkinsfile und AWS-Code bereitstellen deploy

Hier ist meine jenkinsfile

node { 
    // Mark the code checkout 'stage'.... 
    stage 'Checkout' 
    // Get some code from a GitHub repository 
     git branch: 'master', 
     credentialsId: 'xxxxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxx', 
     url: 'https://github.com/somerepo/someapplication.git' 

    // Mark the code build 'stage'.... 
    stage 'Build' 
    // Run the gradle build 
     sh '/usr/share/gradle/bin/gradle build -x test -q buildZip -Pmule_env=aws-dev -Pmule_config=server' 

    stage 'Deploy via Codedeploy' 
    //Run using codedeploy agent 
} 

ich viele Tutorial gesucht haben, aber sie verwenden AWS-Code-Plugin statt bereitstellen. Können Sie mir helfen, eine Anwendung über AWS Codedeploy mit Jenkinsfile bereitzustellen?

Vielen Dank.

Antwort

3

Alternativ können Sie die Codebereitstellung mithilfe von AWS CLI-Befehlen durchführen. Dies beinhaltet zwei Schritte.

Schritt 1 - Schieben Sie das Deployment-Bundle auf S3-Bucket. Siehe den folgenden Befehl ein:

aws --profile {profile_name} deploy push --application-name {code_deploy_application_name} --s3-location s3://<s3_file_path>.zip 

Wo:

  1. profile_name = Name des AWS-Profil (wenn mehrere Konten)
  2. code_deploy_application_name = Name des AWS-Code-Bereitstellungsanwendung.
  3. s3_file_path = S3-Dateipfad für die Bereitstellungspaket-Zip-Datei.

Schritt 2 - Initiieren Code Entfaltungs Der zweite Befehl ist der verwendete Code Bereitstellung auslösen. Siehe den folgenden Befehl ein:

aws --profile {profile} deploy create-deployment --application-name {code_deploy_application_name} --deployment-group-name {code_deploy_group_name} --s3-location bucket={s3_bucket_name},bundleType=zip,key={s3_bucket_zip_file_path}

Wo:

  1. Profil = Name Ihres AWS-Profil (wenn mehrere Konten)
  2. code_deploy_application_name = wie Schritt 1
  3. code_deploy_group_name = Name des Codebereitstellungsgruppe. Dies ist mit Ihrer Codebereitstellungsanwendung verknüpft.
  4. s3_bucket_name = Name des S3-Buckets, in dem die Bereitstellungsartefakte gespeichert werden. (Stellen Sie sicher, dass Ihre Rolle, die Code deploy führt Berechtigungen für s3 Eimer hat.)
  5. s3_bucket_zip_file_path = wie Schritt 1