diff --git a/Dockerfile-online b/Dockerfile-online index 9e99459f..bdb83a8b 100644 --- a/Dockerfile-online +++ b/Dockerfile-online @@ -1,4 +1,4 @@ -FROM java:openjdk-8-jre-alpine +FROM openjdk:8-jre WORKDIR /home diff --git a/Jenkinsfile-online b/Jenkinsfile similarity index 63% rename from Jenkinsfile-online rename to Jenkinsfile index 2ca69e7f..66a00549 100644 --- a/Jenkinsfile-online +++ b/Jenkinsfile @@ -14,8 +14,8 @@ pipeline { GITHUB_CREDENTIAL_ID = 'github-id' KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig' REGISTRY = 'docker.io' - DOCKERHUB_NAMESPACE = 'docker_username' - GITHUB_ACCOUNT = 'kubesphere' + DOCKERHUB_NAMESPACE = 'chiyuelaochao' + GITHUB_ACCOUNT = 'chiyuelaochao' APP_NAME = 'devops-java-sample' } @@ -65,29 +65,15 @@ pipeline { } steps { input(id: 'deploy-to-dev', message: 'deploy to dev?') - kubernetesDeploy(configs: 'deploy/dev-ol/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID") - } - } - stage('push with tag'){ - when{ - expression{ - return params.TAG_NAME =~ /v.*/ + container('maven') { + withCredentials([kubeconfigFile(credentialsId: env.KUBECONFIG_CREDENTIAL_ID, variable: 'KUBECONFIG')]) { + sh 'kubectl apply -f deploy/dev-ol/devops-sample.yaml' + sh 'kubectl apply -f deploy/dev-ol/devops-sample-svc.yaml' + } } } - steps { - container ('maven') { - input(id: 'release-image-with-tag', message: 'release image with tag?') - withCredentials([usernamePassword(credentialsId: "$GITHUB_CREDENTIAL_ID", passwordVariable: 'GIT_PASSWORD', usernameVariable: 'GIT_USERNAME')]) { - sh 'git config --global user.email "kubesphere@yunify.com" ' - sh 'git config --global user.name "kubesphere" ' - sh 'git tag -a $TAG_NAME -m "$TAG_NAME" ' - sh 'git push http://$GIT_USERNAME:$GIT_PASSWORD@github.com/$GITHUB_ACCOUNT/devops-java-sample.git --tags --ipv4' - } - sh 'docker tag $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:$TAG_NAME ' - sh 'docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:$TAG_NAME ' - } - } } + stage('deploy to production') { when{ expression{ @@ -96,7 +82,12 @@ pipeline { } steps { input(id: 'deploy-to-production', message: 'deploy to production?') - kubernetesDeploy(configs: 'deploy/prod-ol/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID") + container('maven') { + withCredentials([kubeconfigFile(credentialsId: env.KUBECONFIG_CREDENTIAL_ID, variable: 'KUBECONFIG')]) { + sh 'kubectl apply -f deploy/prod-ol/devops-sample.yaml' + sh 'kubectl apply -f deploy/prod-ol/devops-sample-svc.yaml' + } + } } } } diff --git a/deploy/dev-ol/devops-sample.yaml b/deploy/dev-ol/devops-sample.yaml index e0a259a4..4b80e364 100644 --- a/deploy/dev-ol/devops-sample.yaml +++ b/deploy/dev-ol/devops-sample.yaml @@ -22,13 +22,15 @@ spec: component: ks-sample-dev tier: backend spec: + imagePullSecrets: + - name: dockerhub-id containers: - env: - name: CACHE_IGNORE value: js|html - name: CACHE_PUBLIC_EXPIRATION value: 3d - image: $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER + image: chiyuelaochao/devops-java-sample:latest readinessProbe: httpGet: path: / diff --git a/deploy/prod-ol/devops-sample.yaml b/deploy/prod-ol/devops-sample.yaml index 4d93876a..b7aed2b3 100644 --- a/deploy/prod-ol/devops-sample.yaml +++ b/deploy/prod-ol/devops-sample.yaml @@ -33,7 +33,7 @@ spec: value: js|html - name: CACHE_PUBLIC_EXPIRATION value: 3d - image: $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:$TAG_NAME + image: chiyuelaochao/devops-java-sample:latest readinessProbe: httpGet: path: / diff --git a/pom.xml b/pom.xml index 2b912c1c..8509e831 100644 --- a/pom.xml +++ b/pom.xml @@ -61,6 +61,11 @@ junit 4.13.1 + + junit + junit + test + diff --git a/src/main/java/io/kubesphere/devops/HelloWorldController.java b/src/main/java/io/kubesphere/devops/HelloWorldController.java index 445d0960..139850af 100644 --- a/src/main/java/io/kubesphere/devops/HelloWorldController.java +++ b/src/main/java/io/kubesphere/devops/HelloWorldController.java @@ -14,6 +14,6 @@ public class HelloWorldController { @RequestMapping("/") public String sayHello() { - return "Really appreciate your star, that's the power of our life."; + return "部署成功!当前版本v1.0"; } } diff --git a/src/test/java/io/kubesphere/devops/HelloWorldControllerTest.java b/src/test/java/io/kubesphere/devops/HelloWorldControllerTest.java index b342eabf..31370c8d 100644 --- a/src/test/java/io/kubesphere/devops/HelloWorldControllerTest.java +++ b/src/test/java/io/kubesphere/devops/HelloWorldControllerTest.java @@ -8,6 +8,6 @@ public class HelloWorldControllerTest { @Test public void testSayHello() { - assertEquals("Really appreciate your star, that's the power of our life.", new HelloWorldController().sayHello()); + assertEquals("部署成功!当前版本v1.0", new HelloWorldController().sayHello()); } }