89 lines
2.5 KiB
YAML
89 lines
2.5 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: metis
|
|
platform:
|
|
os: linux
|
|
arch: arm64
|
|
|
|
steps:
|
|
- name: build-jar
|
|
image: 10.7.127.190:38080/maven:3.8.5-openjdk-17
|
|
volumes:
|
|
- name: maven-cache
|
|
path: /root/.m2
|
|
commands:
|
|
- mvn clean package -DskipTests=true
|
|
|
|
- name: build-docker
|
|
image: 10.7.127.190:38080/docker/docker
|
|
volumes:
|
|
- name: docker
|
|
path: /var/run/docker.sock
|
|
environment:
|
|
DOCKER_USERNAME:
|
|
from_secret: docker_username
|
|
DOCKER_PASSWORD:
|
|
from_secret: docker_password
|
|
REGISTRY:
|
|
from_secret: registry
|
|
commands:
|
|
- sed -i 's/$REGISTRY/'"$REGISTRY"'/' deployment.yml
|
|
- sed -i 's/$REGISTRY_NAMESPACE/'"metis"'/' deployment.yml
|
|
- sed -i 's/$DRONE_COMMIT/${DRONE_COMMIT}/' deployment.yml
|
|
- sed -i 's/$DRONE_REPO_NAME/${DRONE_REPO_NAME}/' deployment.yml
|
|
- echo $DOCKER_PASSWORD | docker login $REGISTRY --username $DOCKER_USERNAME --password-stdin
|
|
- sh docker.sh
|
|
- docker rmi -f $(docker images | grep $DRONE_REPO_NAME | awk '{print $3}')
|
|
|
|
- name: deploy
|
|
image: bitnami/kubectl:1.26.13-debian-11-r1
|
|
volumes:
|
|
- name: config
|
|
path: /app/config
|
|
commands:
|
|
- kubectl apply -f deployment.yml -n metis --kubeconfig=/app/config/base-taishan-kubectl.yml
|
|
|
|
|
|
- name: notify
|
|
image: 10.7.127.190:38080/plugins/webhook:latest
|
|
environment:
|
|
NOTIFY_WX_URL:
|
|
from_secret: notify_wx_url
|
|
when:
|
|
status: [ success,failure ]
|
|
settings:
|
|
urls:
|
|
from_secret: notify_wx_url
|
|
content_type: application/json
|
|
template: |
|
|
{
|
|
"msgtype": "markdown",
|
|
"markdown": {
|
|
"content": "{{#success build.status}}<font color=\"green\">✅ 构建成功</font>{{else}}<font color=\"red\">❌ 构建失败</font>{{/success}}
|
|
>**项目名称**: #{{ repo.name }}
|
|
>**构建编号**: #{{build.number}}
|
|
>**构建状态**: {{build.status}}
|
|
>**代码分支**: {{build.branch}}
|
|
>**提交哈希**: {{build.commit}}
|
|
>**提交作者**: {{build.author}}
|
|
>**提交信息**: {{build.message}}
|
|
>[查看构建详情]({{build.link}})
|
|
>{{^success build.status}}[查看失败日志]({{build.link}}/logs){{/success}}"
|
|
}
|
|
}
|
|
|
|
|
|
volumes:
|
|
- name: config
|
|
host:
|
|
path: /home/kubect
|
|
- name: maven-cache
|
|
host:
|
|
path: /home/data/maven/cache
|
|
- name: docker
|
|
host:
|
|
path: /var/run/docker.sock
|
|
|
|
trigger:
|
|
branch:
|
|
- test |