Template
feat: add prefixed service initializer and packaged deployment
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
name: 'Build & Deploy'
|
||||
env:
|
||||
DEPLOY_DIR: /root
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
@@ -17,15 +20,14 @@ jobs:
|
||||
go build -ldflags="-s -w" -o server ./cmd/main_program
|
||||
go build -ldflags="-s -w" -o cli ./cmd/cli_control
|
||||
go build -ldflags="-s -w" -o scheduler ./cmd/scheduler
|
||||
go build -ldflags="-s -w" -o initializer .
|
||||
tar -czf deployment.tar.gz server cli scheduler initializer
|
||||
|
||||
- name: Save artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build-artifacts
|
||||
path: |
|
||||
./server
|
||||
./cli
|
||||
./scheduler
|
||||
path: ./deployment.tar.gz
|
||||
|
||||
deploy:
|
||||
needs: build
|
||||
@@ -53,11 +55,9 @@ jobs:
|
||||
while read -r ip; do
|
||||
if [ -n "$ip" ]; then
|
||||
echo "Deploying to $ip..."
|
||||
scp -o StrictHostKeyChecking=no server cli scheduler ${{ vars.ROOT_USER_NAME }}@"$ip":/root/
|
||||
ssh -n ${{ vars.ROOT_USER_NAME }}@"$ip" << 'ENDSSH'
|
||||
chmod +x /root/server /root/cli /root/scheduler
|
||||
systemctl restart server cli scheduler
|
||||
ENDSSH
|
||||
scp -o StrictHostKeyChecking=no deployment.tar.gz ${{ vars.ROOT_USER_NAME }}@"$ip":"$DEPLOY_DIR/deployment.tar.gz"
|
||||
ssh -n ${{ vars.ROOT_USER_NAME }}@"$ip" \
|
||||
"set -e; bash '$DEPLOY_DIR/stop.sh'; tar -xzf '$DEPLOY_DIR/deployment.tar.gz' -C '$DEPLOY_DIR'; chmod +x '$DEPLOY_DIR/server' '$DEPLOY_DIR/cli' '$DEPLOY_DIR/scheduler' '$DEPLOY_DIR/initializer'; bash '$DEPLOY_DIR/start.sh'"
|
||||
echo "Deployment to $ip completed"
|
||||
fi
|
||||
done < server_list.txt
|
||||
|
||||
Reference in New Issue
Block a user