frappe_docker/.github/workflows/build_system_image.yml
2023-12-16 11:35:58 +03:00

75 lines
4.3 KiB
YAML

name: build system Image base on json config provided
on:
# workflow_dispatch:
pull_request:
types: [opened, reopened]
branches: [main]
jobs:
job-image-build:
runs-on:
- self-hosted
# - ubuntu-latest
steps:
# - name: Checkout Repository
# uses: actions/checkout@v2
# - name: build image
# run: |
# rm -rf remittance_image_builder
# - name: build image
# run: |
# git clone --recursive https://${{ secrets._GITHUB_TOKEN }}@github.com/malnozili/remittance_image_builder.git
# cd remittance_image_builder
# ./build_network_company_image.sh --tag="remittance_network_agent/${{ github.event.pull_request.head.ref }}:latest" --token="${{ secrets.TOCKEN }}" --frappe-path="https://github.com/fintechsys/frappe.git" --frappe-branch=version-14 --fintech-branch=develop
# docker image ls
# docker tag remittance_network_agent/${{ vars.BRANCH_NAME }}:latest harbor.fintechsys.net/frappe-systems/${{ vars.BRANCH_NAME }}:latest
# docker push harbor.fintechsys.net/frappe-systems/remittance_network_agent/${{ vars.BRANCH_NAME }}:latest
#Creat Bench and sites
# sed -i 's/ERPNEXT_VERSION=/ERPNEXT_VERSION=${{ github.event.pull_request.head.ref }}/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env
- name: Create directory
run: |
mkdir ~/gitops
- name: Generate Random Ports
run: |
# Generate random ports between 1024 and 65535
port1=$((RANDOM%64311+1024))
# echo "Random Port 1: $port1"
- name: Create first bench
run: |
cp example.env ~/gitops/${{ github.event.pull_request.head.ref }}.env
sed -i 's/FRAPPE_SITE_NAME_HEADER=/FRAPPE_SITE_NAME_HEADER=${{ github.event.pull_request.head.ref }}/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env
sed -i 's/PORTS=/PORTS=$port1/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env
sed -i 's/DBPASSWORD=/DP=DBPASSWORD=${{ vars.MARIADB_PASSWORD }}/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env
# sed -i 's/DB_PASSWORD=123/DB_PASSWORD=${{ vars.MARIADB_PASSWORD }}/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env
# sed -i 's/DB_HOST=/DB_HOST=mariadb-database/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env
# sed -i 's/DB_PORT=/DB_PORT=3306/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env
# sed -i 's/SITES=`${{ github.event.pull_request.head.ref }}`/SITES=\`${{ github.event.pull_request.head.ref }}\`/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env
# echo 'ROUTER=${{ github.event.pull_request.head.ref }}' >> ~/gitops/${{ github.event.pull_request.head.ref }}.env
# echo "BENCH_NETWORK=${{ github.event.pull_request.head.ref }}" >> ~/gitops/${{ github.event.pull_request.head.ref }}.env
- name: Create a yaml file to deploy container
run: |
docker-compose --project-name ${{ github.event.pull_request.head.ref }} \
--env-file ~/gitops/${{ github.event.pull_request.head.ref }}.env \
-f pwd.yml config > ~/gitops/${{ github.event.pull_request.head.ref }}.yaml
- name: Deploy the container
run: |
docker-compose --project-name ${{ github.event.pull_request.head.ref }} -f ~/gitops/${{ github.event.pull_request.head.ref }}.yaml up -d
- name: Create the site
run: |
docker-compose --project-name ${{ github.event.pull_request.head.ref }} exec -T backend \
bench new-site --no-mariadb-socket --db-root-password ${{ vars.MARIADB_PASSWORD }} --install-app hrms --set-default \
--install-app rule_management --install-app remittance_base --install-app remittance --install-app bulk_remittance --install-app remittance_stellar_integration \
--install-app client_account_management --install-app teller_for_erpnext --install-app teller_for_agent \
--install-app remittance_agent_service --install-app payment_management --install-app bank_services --install-app remittance_customize \
--install-app remittance_network_manager --install-app erpnext_theme --install-app remittance_website --admin-password ${{ vars.MARIADB_PASSWORD }} --set-default ${{ github.event.pull_request.head.ref }}