From b366e921684c456376f97628054b557b6bd19bd8 Mon Sep 17 00:00:00 2001 From: kenjis Date: Tue, 14 May 2024 16:47:49 +0900 Subject: [PATCH 1/3] chore: extract shell script from deploy.yml --- .github/scripts/deploy.sh | 33 +++++++++++++++++++++++++++++++++ .github/workflows/deploy.yml | 33 +-------------------------------- 2 files changed, 34 insertions(+), 32 deletions(-) create mode 100755 .github/scripts/deploy.sh diff --git a/.github/scripts/deploy.sh b/.github/scripts/deploy.sh new file mode 100755 index 0000000..74d4621 --- /dev/null +++ b/.github/scripts/deploy.sh @@ -0,0 +1,33 @@ +#!/bin/sh -e + +# Deploys to the production server. + +RELEASE_DIR="/home/public_html/site/releases/" +RSYNC_DIR="/home/public_html/site/latest/" +USERGUIDE_DIR="/home/public_html/userguides" +CONFIG_FILE="/home/public_html/config/.env.site" + +cd ~/ +RELEASE=`date +"%d-%m-%Y-%H-%M-%S"` + +echo $'Copy current release\n' +cd $RELEASE_DIR +cp -r ../latest ./$RELEASE + +echo $'Install composer dependencies\n' +cd $RELEASE_DIR/$RELEASE +composer install + +echo $'Setup FS\n' +cd $RELEASE_DIR/$RELEASE +sudo chmod -R 777 writable +sudo chmod -R a+rx vendor +sudo ln -nsf $CONFIG_FILE .env + +echo $'Link current user guide\n' +sudo ln -nsf $USERGUIDE_DIR/userguide4 public/user_guide + +echo $'Set up Links\n' +cd $RELEASE_DIR +sudo ln -nsf $RELEASE_DIR/$RELEASE "../current" +sudo service php8.1-fpm reload diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index bfffe30..81a5281 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -33,39 +33,8 @@ jobs: - name: Finalize deployment uses: appleboy/ssh-action@master - env: - RELEASE_DIR: "/home/public_html/site/releases/" - RSYNC_DIR: "/home/public_html/site/latest/" - USERGUIDE_DIR: "/home/public_html/userguides" - CONFIG_FILE: "/home/public_html/config/.env.site" with: host: ${{ secrets.DEPLOY_SSH_BOX }} username: ${{ secrets.DEPLOY_USER }} key: ${{ secrets.DEPLOY_KEY }} - script_stop: true - envs: RELEASE_DIR,CONFIG_FILE,RSYNC_DIR,USERGUIDE_DIR - script: | - cd ~/ - RELEASE=`date +"%d-%m-%Y-%H-%M-%S"` - - echo $'Copy current release\n' - cd $RELEASE_DIR - cp -r ../latest ./$RELEASE - - echo $'Install composer dependencies\n' - cd $RELEASE_DIR/$RELEASE - composer install - - echo $'Setup FS\n' - cd $RELEASE_DIR/$RELEASE - sudo chmod -R 777 writable - sudo chmod -R a+rx vendor - sudo ln -nsf $CONFIG_FILE .env - - echo $'Link current user guide\n' - sudo ln -nsf $USERGUIDE_DIR/userguide4 public/user_guide - - echo $'Set up Links\n' - cd $RELEASE_DIR - sudo ln -nsf $RELEASE_DIR/$RELEASE "../current" - sudo service php8.1-fpm reload + script: /home/public_html/site/latest/.github/scripts/deploy.sh From 3c1f9dcf9f70eeb3eeb976b9befef74402a1d86d Mon Sep 17 00:00:00 2001 From: kenjis Date: Tue, 14 May 2024 16:53:52 +0900 Subject: [PATCH 2/3] chore: use major version numbers instead of branch names --- .github/workflows/deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 81a5281..72fa158 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -21,7 +21,7 @@ jobs: known_hosts: ${{ secrets.SSH_KNOWN_HOSTS }} - name: Deploy to Webserver - uses: yeshan333/rsync-deploy-action@main + uses: yeshan333/rsync-deploy-action@v1 id: rsync-deploy-action with: ssh_login_username: ${{ secrets.DEPLOY_USER }} @@ -32,7 +32,7 @@ jobs: destination_path: "/home/public_html/site/latest" - name: Finalize deployment - uses: appleboy/ssh-action@master + uses: appleboy/ssh-action@v1 with: host: ${{ secrets.DEPLOY_SSH_BOX }} username: ${{ secrets.DEPLOY_USER }} From 669f81598d617ca4ad536cf782382cbc41e8d59b Mon Sep 17 00:00:00 2001 From: kenjis Date: Tue, 14 May 2024 17:01:49 +0900 Subject: [PATCH 3/3] chore: add "--no-dev" to "composer install" --- .github/scripts/deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/deploy.sh b/.github/scripts/deploy.sh index 74d4621..4e4de4a 100755 --- a/.github/scripts/deploy.sh +++ b/.github/scripts/deploy.sh @@ -16,7 +16,7 @@ cp -r ../latest ./$RELEASE echo $'Install composer dependencies\n' cd $RELEASE_DIR/$RELEASE -composer install +composer install --no-dev echo $'Setup FS\n' cd $RELEASE_DIR/$RELEASE