-
Notifications
You must be signed in to change notification settings - Fork 28
Expand file tree
/
Copy pathJenkinsfileTag
More file actions
39 lines (36 loc) · 2.2 KB
/
JenkinsfileTag
File metadata and controls
39 lines (36 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import groovy.json.JsonSlurper
node {
ws('netcore') {
stage('SCM') {
git branch: 'master', url: 'https://github.com/ivancuadros1988/netcore50-api-test'
}
stage('Build') {
dotnet_build();
}
stage('Docker') {
docker_build();
}
stage('Deploy Dev') {
bat(script: 'az login --service-principal --username 05a7db38-0a16-47d0-ab89-4530f147d3ed --password WMJ9fo2.jg_ZwNoTEGDvPrm4FkZeL.Ladx --tenant 5dd0bef7-7843-442d-806f-0c18c1da4f53', returnStdout: true);
bat(script: 'az account set --subscription "PPUAforo255"', returnStdout: true);
bat(script: 'az container delete --resource-group Jenkins --name micro5testservice --yes', returnStdout: true);
bat(script: 'az container create --resource-group Jenkins --name micro5testservice --image ivancuadros1988/servicenet5:' + env.BUILD_NUMBER + ' --dns-name-label micro5testservice --ports 80', returnStdout: true);
}
stage('Deploy Prod') {
bat(script: 'az aks get-credentials --resource-group Jenkins --name aforo255jenkins & kubectl config get-contexts --kubeconfig=%KUBE_PATH_CONFIG%', returnStdout: true);
bat(script: 'kubectl config use-context aforo255jenkins --kubeconfig=%KUBE_PATH_CONFIG%', returnStdout: true);
bat(script: 'kubectl apply -f k8s.yml --kubeconfig=%KUBE_PATH_CONFIG%', returnStdout: true);
bat(script: 'kubectl set image deployment/app-deployment service-aforo255=ivancuadros1988/servicenet5:' + env.BUILD_NUMBER + ' --kubeconfig=%KUBE_PATH_CONFIG%', returnStdout: true);
}
}
}
def docker_build() {
bat(script: 'docker login --username %UsernameDockerHub% --password %PasswordDockerHub%', returnStdout: true);
bat(script: "docker build -t ivancuadros1988/servicenet5:latest -t ivancuadros1988/servicenet5:" + env.BUILD_NUMBER + " .", returnStdout: true);
bat(script: 'docker push ivancuadros1988/servicenet5:' + env.BUILD_NUMBER, returnStdout: true);
}
def dotnet_build() {
bat(script: 'dotnet restore', returnStdout: true);
bat(script: 'dotnet build', returnStdout: true);
bat(script: 'dotnet test', returnStdout: true);
}