Skip to content

Commit 3e3910c

Browse files
authored
modiy NAMESPACE & add readiness & add deploy-online (kubesphere#2)
* update Jenkinsfile & add readiness
1 parent 8540e0e commit 3e3910c

File tree

8 files changed

+181
-22
lines changed

8 files changed

+181
-22
lines changed

Jenkinsfile

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ pipeline {
1414
GITLAB_CREDENTIAL_ID = 'gitlab-id'
1515
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
1616
REDISTRY = 'harbor.devops.kubesphere.local:30280'
17-
NAMESPACE = 'library'
17+
HARBOR_NAMESPACE = 'library'
1818
GITLAB_ACCOUNT = 'admin1'
19-
APP_NAME = 'devops-sample-s2i'
19+
APP_NAME = 'devops-java-sample'
2020
SONAR_CREDENTIAL_ID= 'sonar-token'
2121
}
2222

@@ -54,10 +54,10 @@ pipeline {
5454
steps {
5555
container ('maven') {
5656
sh 'mvn -o -Dmaven.test.skip=true -gs `pwd`/configuration/settings.xml clean package'
57-
sh 'docker build -t $REDISTRY/$NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER .'
57+
sh 'docker build -t $REDISTRY/$HARBOR_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER .'
5858
withCredentials([usernamePassword(passwordVariable : 'DOCKER_PASSWORD' ,usernameVariable : 'DOCKER_USERNAME' ,credentialsId : "$HARBOR_CREDENTIAL_ID" ,)]) {
5959
sh 'echo "$DOCKER_PASSWORD" | docker login $REDISTRY -u "$DOCKER_USERNAME" --password-stdin'
60-
sh 'docker push $REDISTRY/$NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER'
60+
sh 'docker push $REDISTRY/$HARBOR_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER'
6161
}
6262
}
6363
}
@@ -69,8 +69,8 @@ pipeline {
6969
}
7070
steps{
7171
container ('maven') {
72-
sh 'docker tag $REDISTRY/$NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER $REDISTRY/$NAMESPACE/$APP_NAME:latest '
73-
sh 'docker push $REDISTRY/$NAMESPACE/$APP_NAME:latest '
72+
sh 'docker tag $REDISTRY/$HARBOR_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER $REDISTRY/$HARBOR_NAMESPACE/$APP_NAME:latest '
73+
sh 'docker push $REDISTRY/$HARBOR_NAMESPACE/$APP_NAME:latest '
7474
}
7575
}
7676
}
@@ -97,10 +97,10 @@ pipeline {
9797
sh 'git config --global user.email "kubesphere@yunify.com" '
9898
sh 'git config --global user.name "kubesphere" '
9999
sh 'git tag -a $TAG_NAME -m "$TAG_NAME" '
100-
sh 'git push http://$GIT_USERNAME:$GIT_PASSWORD@gitlab.devops.kubesphere.local:30080/$GITLAB_ACCOUNT/devops-sample-s2i.git --tags'
100+
sh 'git push http://$GIT_USERNAME:$GIT_PASSWORD@gitlab.devops.kubesphere.local:30080/$GITLAB_ACCOUNT/devops-java-sample.git --tags'
101101
}
102-
sh 'docker tag $REDISTRY/$NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER $REDISTRY/$NAMESPACE/$APP_NAME:$TAG_NAME '
103-
sh 'docker push $REDISTRY/$NAMESPACE/$APP_NAME:$TAG_NAME '
102+
sh 'docker tag $REDISTRY/$HARBOR_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER $REDISTRY/$HARBOR_NAMESPACE/$APP_NAME:$TAG_NAME '
103+
sh 'docker push $REDISTRY/$HARBOR_NAMESPACE/$APP_NAME:$TAG_NAME '
104104
}
105105
}
106106
}

Jenkinsfile-online

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ pipeline {
1414
GITHUB_CREDENTIAL_ID = 'github-id'
1515
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
1616
REDISTRY = 'docker.io'
17-
NAMESPACE = 'docker_username'
17+
DOCKERHUB_NAMESPACE = 'docker_username'
1818
GITHUB_ACCOUNT = 'kubesphere'
19-
APP_NAME = 'devops-sample-s2i'
19+
APP_NAME = 'devops-java-sample'
2020
SONAR_CREDENTIAL_ID= 'sonar-token'
2121
}
2222

@@ -54,10 +54,10 @@ pipeline {
5454
steps {
5555
container ('maven') {
5656
sh 'mvn -o -Dmaven.test.skip=true -gs `pwd`/configuration/settings.xml clean package'
57-
sh 'docker build -f Dockerfile-online -t $REDISTRY/$NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER .'
57+
sh 'docker build -f Dockerfile-online -t $REDISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER .'
5858
withCredentials([usernamePassword(passwordVariable : 'DOCKER_PASSWORD' ,usernameVariable : 'DOCKER_USERNAME' ,credentialsId : "$DOCKER_CREDENTIAL_ID" ,)]) {
5959
sh 'echo "$DOCKER_PASSWORD" | docker login $REDISTRY -u "$DOCKER_USERNAME" --password-stdin'
60-
sh 'docker push $REDISTRY/$NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER'
60+
sh 'docker push $REDISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER'
6161
}
6262
}
6363
}
@@ -69,8 +69,8 @@ pipeline {
6969
}
7070
steps{
7171
container ('maven') {
72-
sh 'docker tag $REDISTRY/$NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER $REDISTRY/$NAMESPACE/$APP_NAME:latest '
73-
sh 'docker push $REDISTRY/$NAMESPACE/$APP_NAME:latest '
72+
sh 'docker tag $REDISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER $REDISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:latest '
73+
sh 'docker push $REDISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:latest '
7474
}
7575
}
7676
}
@@ -81,7 +81,7 @@ pipeline {
8181
}
8282
steps {
8383
input(id: 'deploy-to-dev', message: 'deploy to dev?')
84-
kubernetesDeploy(configs: 'deploy/dev/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
84+
kubernetesDeploy(configs: 'deploy/dev-ol/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
8585
}
8686
}
8787
stage('push with tag'){
@@ -97,10 +97,10 @@ pipeline {
9797
sh 'git config --global user.email "kubesphere@yunify.com" '
9898
sh 'git config --global user.name "kubesphere" '
9999
sh 'git tag -a $TAG_NAME -m "$TAG_NAME" '
100-
sh 'git push http://$GIT_USERNAME:$GIT_PASSWORD@github.com/$GITHUB_ACCOUNT/devops-sample-s2i.git --tags'
100+
sh 'git push http://$GIT_USERNAME:$GIT_PASSWORD@github.com/$GITHUB_ACCOUNT/devops-java-sample.git --tags'
101101
}
102-
sh 'docker tag $REDISTRY/$NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER $REDISTRY/$NAMESPACE/$APP_NAME:$TAG_NAME '
103-
sh 'docker push $REDISTRY/$NAMESPACE/$APP_NAME:$TAG_NAME '
102+
sh 'docker tag $REDISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER $REDISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:$TAG_NAME '
103+
sh 'docker push $REDISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:$TAG_NAME '
104104
}
105105
}
106106
}
@@ -112,7 +112,7 @@ pipeline {
112112
}
113113
steps {
114114
input(id: 'deploy-to-production', message: 'deploy to production?')
115-
kubernetesDeploy(configs: 'deploy/prod/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
115+
kubernetesDeploy(configs: 'deploy/prod-ol/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
116116
}
117117
}
118118
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
labels:
5+
app: kubesphere
6+
component: ks-sample-dev
7+
name: ks-sample-dev
8+
namespace: kubesphere-sample-dev
9+
spec:
10+
ports:
11+
- name: http
12+
port: 8080
13+
protocol: TCP
14+
targetPort: 8080
15+
nodePort: 30861
16+
selector:
17+
app: kubesphere
18+
component: ks-sample-dev
19+
tier: backend
20+
sessionAffinity: None
21+
type: NodePort

deploy/dev-ol/devops-sample.yaml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
apiVersion: extensions/v1beta1
2+
kind: Deployment
3+
metadata:
4+
labels:
5+
app: kubesphere
6+
component: ks-sample-dev
7+
tier: backend
8+
name: ks-sample-dev
9+
namespace: kubesphere-sample-dev
10+
spec:
11+
progressDeadlineSeconds: 600
12+
replicas: 1
13+
selector:
14+
matchLabels:
15+
app: kubesphere
16+
component: ks-sample-dev
17+
tier: backend
18+
template:
19+
metadata:
20+
labels:
21+
app: kubesphere
22+
component: ks-sample-dev
23+
tier: backend
24+
spec:
25+
containers:
26+
- env:
27+
- name: CACHE_IGNORE
28+
value: js|html
29+
- name: CACHE_PUBLIC_EXPIRATION
30+
value: 3d
31+
image: $REDISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER
32+
readinessProbe:
33+
httpGet:
34+
path: /
35+
port: 8080
36+
imagePullPolicy: Always
37+
name: ks-sample
38+
ports:
39+
- containerPort: 8080
40+
protocol: TCP
41+
resources:
42+
limits:
43+
cpu: 200m
44+
memory: 500Mi
45+
requests:
46+
cpu: 100m
47+
memory: 100Mi
48+
terminationMessagePath: /dev/termination-log
49+
terminationMessagePolicy: File
50+
dnsPolicy: ClusterFirst
51+
restartPolicy: Always
52+
terminationGracePeriodSeconds: 30

deploy/dev/devops-sample.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ spec:
2828
value: js|html
2929
- name: CACHE_PUBLIC_EXPIRATION
3030
value: 3d
31-
image: $REDISTRY/$NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER
31+
image: $REDISTRY/$HARBOR_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER
32+
readinessProbe:
33+
httpGet:
34+
path: /
35+
port: 8080
3236
imagePullPolicy: Always
3337
name: ks-sample
3438
ports:
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
labels:
5+
app: kubesphere
6+
component: ks-sample
7+
name: ks-sample
8+
namespace: kubesphere-sample-prod
9+
spec:
10+
ports:
11+
- name: http
12+
port: 8080
13+
protocol: TCP
14+
targetPort: 8080
15+
nodePort: 30961
16+
selector:
17+
app: kubesphere
18+
component: ks-sample
19+
tier: backend
20+
sessionAffinity: None
21+
type: NodePort

deploy/prod-ol/devops-sample.yaml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
apiVersion: extensions/v1beta1
2+
kind: Deployment
3+
metadata:
4+
labels:
5+
app: kubesphere
6+
component: ks-sample
7+
tier: backend
8+
name: ks-sample
9+
namespace: kubesphere-sample-prod
10+
spec:
11+
progressDeadlineSeconds: 600
12+
replicas: 2
13+
selector:
14+
matchLabels:
15+
app: kubesphere
16+
component: ks-sample
17+
tier: backend
18+
strategy:
19+
rollingUpdate:
20+
maxSurge: 1
21+
maxUnavailable: 1
22+
type: RollingUpdate
23+
template:
24+
metadata:
25+
labels:
26+
app: kubesphere
27+
component: ks-sample
28+
tier: backend
29+
spec:
30+
containers:
31+
- env:
32+
- name: CACHE_IGNORE
33+
value: js|html
34+
- name: CACHE_PUBLIC_EXPIRATION
35+
value: 3d
36+
image: $REDISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:$TAG_NAME
37+
readinessProbe:
38+
httpGet:
39+
path: /
40+
port: 8080
41+
imagePullPolicy: Always
42+
name: ks
43+
ports:
44+
- containerPort: 8080
45+
protocol: TCP
46+
resources:
47+
limits:
48+
cpu: 200m
49+
memory: 500Mi
50+
requests:
51+
cpu: 100m
52+
memory: 100Mi
53+
terminationMessagePath: /dev/termination-log
54+
terminationMessagePolicy: File
55+
dnsPolicy: ClusterFirst
56+
restartPolicy: Always
57+
terminationGracePeriodSeconds: 30

deploy/prod/devops-sample.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ spec:
3333
value: js|html
3434
- name: CACHE_PUBLIC_EXPIRATION
3535
value: 3d
36-
image: $REDISTRY/$NAMESPACE/$APP_NAME:$TAG_NAME
36+
image: $REDISTRY/$HARBOR_NAMESPACE/$APP_NAME:$TAG_NAME
37+
readinessProbe:
38+
httpGet:
39+
path: /
40+
port: 8080
3741
imagePullPolicy: Always
3842
name: ks
3943
ports:

0 commit comments

Comments
 (0)