文章详情修改 #32
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Swift Vapor CI/CD | |
on: | |
push: | |
branches: | |
- dev # 更改为你的默认分支,例如master或main | |
- main | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: 拉取代码 | |
uses: actions/checkout@v3 | |
- name: 安装 SwiftEnv | |
run: git clone https://github.com/kylef/swiftenv.git ~/.swiftenv | |
- name: Setup environment | |
run: | | |
export SWIFTENV_ROOT="$HOME/.swiftenv" | |
export PATH="$SWIFTENV_ROOT/bin:$PATH" | |
eval "$(swiftenv init -)" | |
echo "$PATH" >> $GITHUB_PATH | |
echo $SWIFTENV_ROOT | |
- name: 安装Swift | |
run: | | |
swiftenv install 5.8.1 --skip-existing | |
swiftenv global 5.8.1 | |
- name: 编译项目 | |
run: | | |
swift build -c release --static-swift-stdlib | |
mv .build/x86_64-unknown-linux-gnu/release/App ./ | |
chmod +x ./App | |
- name: 收集产物 | |
run: | | |
zip -r output_filename.zip App Public Resources | |
- name: 保存产物 | |
uses: actions/upload-artifact@v2 | |
with: | |
name: vapor-app-artifact | |
path: output_filename.zip | |
- name: 上传产物 | |
uses: appleboy/scp-action@v0.1.4 | |
with: | |
host: ${{ secrets.HOST }} | |
username: ${{ secrets.USERNAME }} | |
password: ${{ secrets.PASSWORD }} | |
port: ${{ secrets.PORT }} | |
source: output_filename.zip | |
target: ${{secrets.TARGET_FOLD}} | |
- name: 部署服务 | |
uses: appleboy/ssh-action@v1.0.0 | |
with: | |
host: ${{ secrets.HOST }} | |
username: ${{ secrets.USERNAME }} | |
password: ${{ secrets.PASSWORD }} | |
port: ${{ secrets.PORT }} | |
script: | | |
cd ${{secrets.TARGET_FOLD}} | |
ls -all | |
unzip -o output_filename.zip | |
chmod +x App | |
supervisorctl stop iblog-oldbird-run | |
supervisorctl start iblog-oldbird-run | |