-
Notifications
You must be signed in to change notification settings - Fork 0
131 lines (114 loc) · 4.33 KB
/
docker-image.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
name: 发布镜像
on:
push:
branches: [ "master" ] # 触发条件:推送到 master 分支
jobs:
publish_dev_code:
runs-on: ubuntu-latest
# needs: back_java # 确保在备份代码作业成功后才执行
steps:
- name: 打印信息 🎉
run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- name: 打印操作系统信息 🐧
run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- name: 打印分支和仓库信息 🔎
run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: 检查仓库代码 👁︎
uses: actions/checkout@v4
- name: 打印仓库文件列表 📦
run: ls ${{ github.workspace }}
- name: 查看 zip 文件 📦
run: ls
- name: 删除之前的文件
uses: cross-the-world/ssh-scp-ssh-pipelines@latest
env:
LASTSSH: "Doing something after copying"
with:
host: ${{ secrets.DEV_SERVER_HOST }}
user: ${{ secrets.DEV_SERVER_USER }}
pass: ${{ secrets.DEV_SERVER_PASSWORD }}
last_ssh: |
cd /opt/app/test
rm -rf * # 删除目录下所有文件和子目录
- name: 打包代码成 ZIP 文件 📦
id: deploy
run: |
zip -r publish.zip . -x "*.git*"
echo "::set-output name=zip-path::publish.zip"
- name: 推送到测试服务器备份 zip 文件夹
uses: cross-the-world/ssh-scp-ssh-pipelines@latest
env:
LASTSSH: "Doing something after copying"
with:
host: ${{ secrets.DEV_SERVER_HOST }}
user: ${{ secrets.DEV_SERVER_USER }}
pass: ${{ secrets.DEV_SERVER_PASSWORD }}
scp: |
./publish.zip => /opt/app/zip
last_ssh: |
ls
- name: 推送到测试服务器备份 zip 文件夹
uses: cross-the-world/ssh-scp-ssh-pipelines@latest
env:
LASTSSH: "Doing something after copying"
with:
host: ${{ secrets.DEV_SERVER_HOST }}
user: ${{ secrets.DEV_SERVER_USER }}
pass: ${{ secrets.DEV_SERVER_PASSWORD }}
scp: |
./publish.zip => /opt/app/test
last_ssh: |
ls
- name: 解压文件publish.zip
uses: easingthemes/[email protected]
with:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
REMOTE_USER: ${{ secrets.DEV_SERVER_USER }}
REMOTE_HOST: ${{ secrets.DEV_SERVER_HOST }}
REMOTE_PORT: 22
SCRIPT_AFTER: |
cd /opt/app/test
unzip publish.zip
- name: 打包 maven
uses: cross-the-world/ssh-scp-ssh-pipelines@latest
env:
LASTSSH: "Doing something after copying"
with:
host: ${{ secrets.DEV_SERVER_HOST }}
user: ${{ secrets.DEV_SERVER_USER }}
pass: ${{ secrets.DEV_SERVER_PASSWORD }}
last_ssh: |
cd /opt/app/test
mvn clean install
# - name: mvn 打包
# uses: easingthemes/[email protected]
# with:
# SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
# REMOTE_USER: ${{ secrets.DEV_SERVER_USER }}
# REMOTE_HOST: ${{ secrets.DEV_SERVER_HOST }}
# REMOTE_PORT: 22
# SCRIPT_AFTER: |
# cd /opt/app/test
# mvn clean install
- name: 运行 env 镜像
uses: easingthemes/[email protected]
with:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
REMOTE_USER: ${{ secrets.DEV_SERVER_USER }}
REMOTE_HOST: ${{ secrets.DEV_SERVER_HOST }}
REMOTE_PORT: 22
SCRIPT_AFTER: |
cd /opt/app/test
docker-compose -f docker-compose.env.yml up -d
- name: 运行 env 镜像
uses: easingthemes/[email protected]
with:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
REMOTE_USER: ${{ secrets.DEV_SERVER_USER }}
REMOTE_HOST: ${{ secrets.DEV_SERVER_HOST }}
REMOTE_PORT: 22
SCRIPT_AFTER: |
cd /opt/app/test
docker-compose -f docker-compose.service.yml up -d
- name: 打印作业状态 🍏
run: echo "🍏 This job's status is ${{ job.status }}."