irc-netcore-api/irc_api.drone.yml

168 lines
3.2 KiB
YAML

kind: pipeline
type: docker
name: irc-netcore-api
clone:
disable: true #禁用默认克隆
steps:
- name: clone-repo
image: alpine/git
pull: if-not-exists
volumes:
- name: irc-test-work
path: /work
commands:
- if [ ! -e /work/netcore-repo/.git ]; then
git clone -b Test.IRC http://192.168.3.68:2000/XCKJ/irc-netcore-api.git /work/netcore-repo;
else
cd /work/netcore-repo;
git pull;
fi
- |
if [ ! -e Dockerfile ]; then
echo 'FROM mcr.microsoft.com/dotnet/aspnet:6.0
EXPOSE 80
WORKDIR /app
COPY publish .
ENTRYPOINT ["dotnet", "IRaCIS.Core.API.dll"]' > /work/Dockerfile
fi
- name: restore-publish
image: mcr.microsoft.com/dotnet/sdk:6.0
pull: if-not-exists
depends_on:
- clone-repo
volumes:
- name: nuget-packages
path: /root/.nuget/packages
- name: irc-test-work
path: /work
commands:
- cd /work/netcore-repo/IRaCIS.Core.API
- dotnet restore ./IRaCIS.Core.API.csproj
- rm -rf /work/publish
- cd /work/netcore-repo/IRaCIS.Core.API
- dotnet publish ./IRaCIS.Core.API.csproj -c Release --no-restore -o /work/publish
- name: docker-build
image: docker
pull: if-not-exists
depends_on:
- restore-publish
commands:
- cd /work
- docker build -t test-irc:v${DRONE_BUILD_NUMBER} .
volumes:
- name: irc-test-work
path: /work
- name: dockersock
path: /var/run/docker.sock
volumes:
- name: nuget-packages
host:
path: /opt/cicd/nuget/packages
- name: irc-test-work
host:
path: /opt/cicd/irc-test
- name: dockersock
host:
path: /var/run/docker.sock
trigger:
branch:
- master
---
kind: pipeline
type: ssh
name: default
platform:
os: Linux
arch: 386
clone:
disable: true #禁用默认克隆
server:
host: 47.117.164.182
user: root
password:
from_secret: uat_ssh_pwd
steps:
- name: greeting
commands:
- echo start publish test-irc-api
- cd /opt/cicd/irc-test
- sh test-irc.sh
trigger:
branch:
- Test.IRC
---
kind: pipeline
type: ssh
name: ssh-windows-test-study-publish
platform:
os: windows
arch: amd64
clone:
disable: true #禁用默认克隆
server:
host: 123.56.94.154
user: Administrator
password: WHxckj2019
steps:
- name: publish-test-study
commands:
- Start-Process "C:\CICD\Test.Study\netcore_Publish.bat" -Wait
- cd C:\CICD\Test.Study\netcore_repo
- dotnet restore .\IRaCIS.Core.API\IRaCIS.Core.API.csproj --packages C:\Users\Administrator\.nuget\packages
- dotnet publish .\IRaCIS.Core.API\IRaCIS.Core.API.csproj -c Release --no-restore --packages C:\Users\Administrator\.nuget\packages -o D:\Develop\Test_Study_PublishSite\IRaCIS.NetCore.API
- Start-Service -Name "Test_Study_API"
trigger:
branch:
- Test.Study
---
kind: pipeline
type: ssh
name: ssh-windows-test-irc-publish
platform:
os: windows
arch: amd64
clone:
disable: true #禁用默认克隆
server:
host: 123.56.94.154
user: Administrator
password: WHxckj2019
steps:
- name: publish-test-irc
commands:
- C:\CICD\Test.IRC\netcore_Publish.ps1
trigger:
branch:
- Test.IRC