diff --git a/Jenkinsfile b/Jenkinsfile index 60c71c10..41b59034 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,27 +1,49 @@ pipeline { - agent any - stages { - stage("build") { - steps { - snDevOpsStep '099ac72a1336bf408b49b2776144b0d0' - echo "Building" - sleep 5 - } - } - stage("test") { - steps { - snDevOpsStep '819ac72a1336bf408b49b2776144b0d0' - echo "Testing" - sleep 3 - } - } - stage("deploy") { - steps { - snDevOpsStep '899ac72a1336bf408b49b2776144b0d0' - snDevOpsChange() - echo "Deploying" - sleep 7 - } - } - } + agent any + //options { + //disableResume() + //} + stages { + stage('build') { + steps { + echo 'build …' + //curlCall() + snDevOpsStep() + snDevOpsChange() + } + } + stage('test') { + steps { + echo 'test …' + //snDevOpsStep() + snDevOpsChange() + } + } + stage('Deploy for development') { + when { + branch 'development' + } + steps { + snDevOpsStep() + } + } + stage('Deploy for production') { + when { + branch 'production' + } + steps { + snDevOpsStep() + } + } + } + +} + +def curlCall(){ + def jsonObj = [: ] + def json = new groovy.json.JsonBuilder(jsonObj) + def response = ["curl", "-k", "-X", "POST", "-H", "Content-Type: application/json", "-d", "", "http://devops.integration.user:devops@127.0.0.1:8082/api/sn_devops/v1/devops/tool/orchestration?toolType=jenkins&toolId=36a4417dc76120108c2c02b827c260b9"].execute() + response.waitFor() + println response.err.text + println response.text } diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 00000000..ab934ace --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,45 @@ + +stages: +- stage: One + jobs: + # Set an output variable from a deployment + - job: A + steps: + - task: Bash@3 + name: ChangeRegistration + inputs: + targetType: 'inline' + script: | + changeRegistration=$(curl -s -X POST https://devops.integration.user:devops@mohancli.service-now.com//api/sn_devops/v1/devops/orchestration/changeRegistration -H "Accept: application/json" | jq -r '.result.changeNumber') 2>&1 + echo "${changeRegistration}" + echo "##vso[task.setvariable variable=changeNumber;isOutput=true]NitinParashar" + - bash: echo $(ChangeRegistration.changeNumber) + name: echovar + # Map the variable from the job for the first slice + - job: B + dependsOn: A + variables: + changeNumber: $[ dependencies.A.outputs['ChangeRegistration.changeNumber'] ] + steps: + - bash: "echo $(changeNumber)" + name: echovar + +- stage: Two + dependsOn: One + jobs: + # Set an output variable from a deployment + - job: C + variables: + # map the output variable from A into this job + changeNumber: $[ stageDependencies.One.A.outputs['ChangeRegistration.changeNumber'] ] + steps: + - script: echo $(changeNumber) + + # Map the variable from the job for the first slice + - job: D + dependsOn: C + variables: + changeRegistrationNumber: $[ stageDependencies.One.A.outputs['CustomChangeRegistration.changeRegistrationResponse'] ] + steps: + - bash: echo $(changeRegistrationNumber) + name: echovar \ No newline at end of file