fix(ci): add apt lock waiting and check for rsync/ssh in deploy-prod
This commit is contained in:
parent
2290622765
commit
ff6cb13308
@ -15,7 +15,18 @@ jobs:
|
||||
- name: Step 1 - Sync Code to Server
|
||||
run: |
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update && apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" rsync openssh-client
|
||||
echo "Waiting for apt lock..."
|
||||
while fuser /var/lib/dpkg/lock-frontend >/dev/null 2>&1 ; do
|
||||
echo "Apt is busy, waiting 5 seconds..."
|
||||
sleep 5
|
||||
done
|
||||
|
||||
# 檢查是否已安裝,減少 apt-get 使用頻率
|
||||
if ! command -v rsync >/dev/null 2>&1 || ! command -v ssh >/dev/null 2>&1; then
|
||||
apt-get update && apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" rsync openssh-client
|
||||
else
|
||||
echo "rsync and openssh-client are already installed."
|
||||
fi
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.PROD_SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa_prod
|
||||
chmod 600 ~/.ssh/id_rsa_prod
|
||||
|
||||
Loading…
Reference in New Issue
Block a user