-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #7 from rotirk20/development
Updating yaml it breaks on main to deploy
- Loading branch information
Showing
1 changed file
with
77 additions
and
79 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,116 +3,114 @@ name: CI/CD Pipeline | |
on: | ||
push: | ||
branches: | ||
- main # Trigger deployment only on push to the main branch | ||
- main # Trigger deployment only on push to the main branch | ||
pull_request: | ||
branches: | ||
- main # Run checks (build only) on PRs | ||
- main # Run checks (build only) on PRs | ||
|
||
jobs: | ||
# --- Build Frontend --- | ||
build-frontend: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Set up Node.js for frontend | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '20' # Specify the Node.js version | ||
- name: Set up Node.js for frontend | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: "20" | ||
|
||
- name: Install frontend dependencies | ||
working-directory: ./frontend # Navigate to the frontend folder | ||
run: npm install | ||
- name: Install frontend dependencies | ||
working-directory: ./frontend | ||
run: npm install | ||
|
||
- name: Build frontend | ||
working-directory: ./frontend | ||
run: npm run build | ||
- name: Build frontend | ||
working-directory: ./frontend | ||
run: npm run build | ||
|
||
- name: Upload frontend artifact | ||
if: github.event_name == 'pull_request' # Only upload the artifact on PRs | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: angular-build | ||
path: ./frontend/dist/smetovi/ # Path to Angular build files | ||
- name: Upload frontend artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: angular-build | ||
path: ./frontend/dist/smetovi/ # Path to Angular build files | ||
|
||
# --- Build Backend --- | ||
build-backend: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Set up Node.js for backend | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '20' # Specify the Node.js version | ||
- name: Set up Node.js for backend | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: "20" | ||
|
||
- name: Install backend dependencies | ||
working-directory: ./backend # Navigate to the backend folder | ||
run: npm install | ||
- name: Install backend dependencies | ||
working-directory: ./backend | ||
run: npm install | ||
|
||
- name: Upload backend artifact | ||
if: github.event_name == 'pull_request' # Only upload the artifact on PRs | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: backend-artifact | ||
path: ./backend # Upload the backend folder for deployment | ||
- name: Upload backend artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: backend-artifact | ||
path: ./backend/ # Upload backend folder for deployment | ||
|
||
# --- Deploy Frontend --- | ||
deploy-frontend: | ||
runs-on: ubuntu-latest | ||
needs: [build-frontend, build-backend] # Ensure both build jobs complete before deployment | ||
if: github.ref == 'refs/heads/main' # Only deploy when merged into main branch | ||
needs: [build-frontend, build-backend] # Ensure both build jobs complete before deployment | ||
if: github.ref == 'refs/heads/main' # Only deploy if on the main branch | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Download frontend artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: angular-build | ||
path: ./frontend/dist/smetovi/ # Ensure this is your Angular build folder | ||
|
||
- name: Deploy frontend to cPanel via FTP | ||
uses: SamKirkland/[email protected] | ||
with: | ||
server: ${{ secrets.FTP_SERVER }} | ||
username: ${{ secrets.FTP_USERNAME }} | ||
password: ${{ secrets.FTP_PASSWORD }} | ||
local-dir: ./frontend/dist/smetovi/ # Deploy the actual files | ||
server-dir: /public_html/ # Upload to the existing public_html folder | ||
port: ${{ secrets.FTP_PORT }} | ||
log-level: verbose | ||
force: true # This will re-upload all files, even unchanged ones | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Download frontend artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: angular-build | ||
path: ./frontend/dist/smetovi/ # Ensure this is your Angular build folder | ||
|
||
- name: Deploy frontend to cPanel via FTP | ||
uses: SamKirkland/[email protected] | ||
with: | ||
server: ${{ secrets.FTP_SERVER }} | ||
username: ${{ secrets.FTP_USERNAME }} | ||
password: ${{ secrets.FTP_PASSWORD }} | ||
local-dir: ./frontend/dist/smetovi/ | ||
server-dir: /public_html/ | ||
port: ${{ secrets.FTP_PORT }} | ||
log-level: verbose | ||
force: true # This will re-upload all files, even unchanged ones | ||
|
||
# --- Deploy Backend --- | ||
deploy-backend: | ||
runs-on: ubuntu-latest | ||
needs: build-backend # Ensure the backend build completes before deployment | ||
if: github.ref == 'refs/heads/main' # Only deploy when merged into main branch | ||
needs: build-backend | ||
if: github.ref == 'refs/heads/main' # Only deploy if on the main branch | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Download backend artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: backend-artifact | ||
path: ./backend/ # Download the backend files | ||
|
||
- name: Deploy backend to cPanel via FTP | ||
uses: SamKirkland/[email protected] | ||
with: | ||
server: ${{ secrets.FTP_SERVER }} | ||
username: ${{ secrets.FTP_USERNAME }} | ||
password: ${{ secrets.FTP_PASSWORD }} | ||
local-dir: ./backend/ # Path to your backend build | ||
server-dir: /api/ # Deploy directly to /api/ folder | ||
port: ${{ secrets.FTP_PORT }} | ||
log-level: verbose | ||
force: true # This will re-upload all files, even unchanged ones | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Download backend artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: backend-artifact | ||
path: ./backend/ | ||
|
||
- name: Deploy backend to cPanel via FTP | ||
uses: SamKirkland/[email protected] | ||
with: | ||
server: ${{ secrets.FTP_SERVER }} | ||
username: ${{ secrets.FTP_USERNAME }} | ||
password: ${{ secrets.FTP_PASSWORD }} | ||
local-dir: ./backend/ | ||
server-dir: /api/ | ||
port: ${{ secrets.FTP_PORT }} | ||
log-level: verbose | ||
force: true |