diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..a2b52c5 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,55 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: + - master + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: '20' + + - name: Install dependencies + run: npm install + + - name: Build Angular app + run: npm run build + + - name: Copy CNAME file + run: cp CNAME dist/app/browser/ + + - name: Set up SSH + env: + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + run: | + mkdir -p ~/.ssh + echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + ssh-keyscan github.com >> ~/.ssh/known_hosts + + - name: Commit and push to gh-pages using SSH + env: + GIT_SSH_COMMAND: "ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no" + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + cd dist/app/browser + git init # Initialize a new git repository + git add --all . # Add all changes + git commit -m "Deploy to GitHub Pages" + git checkout -B gh-pages # Switch to gh-pages branch + git push git@github.com:${{ github.repository }} gh-pages --force-with-lease + + - name: Clean up SSH + run: | + rm -f ~/.ssh/id_rsa + rm -f ~/.ssh/known_hosts \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..98e0d72 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +articleapp.webart.work \ No newline at end of file