k8s gitlab cicd 之gradle 篇章

.gitlab-ci.yml

image: docker:stable
stages:
  - package
  - docker_build
  - deploy_k8s
variables:
  KUBECONFIG: /etc/deploy/config
  MAVEN_OPTS: "-Dmaven.repo.local=/opt/cache/.m2/repository"
  CI_SERVER_URL: https://gitlab.caicongyang.com
  CI_PROJECT_URL: https://gitlab.caicongyang.com/s2b-trading/gradle-spring
gradle_build_job:
  image: openjdk:8
  stage: package
  script:
    - echo $CI_PROJECT_URL
    - echo $CI_PIPELINE_ID
    - ./gradlew build
    - cp build/libs/app.jar /opt/cache

docker_build_job:
  image: docker:latest
  stage: docker_build
  script:
    - docker login -uadmin -pHarbor12345 registry.caicongyang.cn
    - mkdir -p build/libs/
    - cp /opt/cache/app.jar build/libs/
    - docker build -t registry.caicongyang.cn/my1233-s2b-trading/gradle-spring:$CI_PIPELINE_ID .
    - docker push registry.caicongyang.cn/my1233-s2b-trading/gradle-spring:$CI_PIPELINE_ID
deploy_k8s_job:
  image: registry.cn-hangzhou.aliyuncs.com/haoshuwei24/kubectl:1.16.6
  stage: deploy_k8s
  script:
    - mkdir -p /etc/deploy
    - echo $kube_config |base64 -d > $KUBECONFIG
    - sed -i "s/IMAGE_TAG/$CI_PIPELINE_ID/g" deployment.yaml
    - cat deployment.yaml
    - kubectl apply -f deployment.yaml

Dockerfile

FROM openjdk:8-jdk
COPY build/libs/app.jar /app.jar
CMD exec java $JAVA_OPTS -jar /app.jar

deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: gradle-spring
spec:
  replicas: 1
  selector:
    matchLabels:
      app: gradle-spring
  template:
    metadata:
      labels:
        app: gradle-spring
    spec:
      containers:
        - name: gradle-spring
          image: registry.caicongyang.com/my1233-s2b-trading/gradle-spring:IMAGE_TAG
          imagePullPolicy: Always
          ports:
            - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: gradle-spring
spec:
  ports:
    - port: 38080
      targetPort: 8080
      name: gradle-spring
  selector:
    app: gradle-spring
  type: NodePort

猜你喜欢

转载自blog.csdn.net/caicongyang/article/details/132049822