diff --git a/.env.default b/.env.default new file mode 100644 index 0000000..7e27cb2 --- /dev/null +++ b/.env.default @@ -0,0 +1,2 @@ +DATABASE_PORT= +DATABASE_PASSWORD= diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml new file mode 100644 index 0000000..6fec1a6 --- /dev/null +++ b/.github/workflows/main.yaml @@ -0,0 +1,38 @@ +name: CI/CD +on: + push: + branches: + - main +jobs: + build_and_deploy: + if: ${{ github.ref == 'refs/heads/main' }} + runs-on: ubuntu-latest + steps: + - name: Checkout main + uses: actions/checkout@main + - name: Replace tokens + uses: cschleiden/replace-tokens@v1.1 + with: + tokenPrefix: '#{' + tokenSuffix: '}#' + files: '["docker-compose.production.yaml"]' + env: + DATABASE_PORT: "${{ secrets.DATABASE_PORT }}" + DATABASE_PASSWORD: "${{ secrets.DATABASE_PASSWORD }}" + - name: Copy docker compose file via SSH password + uses: appleboy/scp-action@master + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USERNAME }} + password: ${{ secrets.SERVER_PASSWORD }} + port: 22 + source: "docker-compose.production.yaml" + target: "~/Projects/slobodanemacenu/" + - name: Starting docker compose file via SSH + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USERNAME }} + password: ${{ secrets.SERVER_PASSWORD }} + port: 22 + script: docker compose -f ~/Projects/slobodanemacenu/docker-compose.production.yaml up --build -d diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5966c57 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +**/.env diff --git a/docker-compose.production.yaml b/docker-compose.production.yaml new file mode 100644 index 0000000..11437ff --- /dev/null +++ b/docker-compose.production.yaml @@ -0,0 +1,19 @@ +version: "3.9" + +services: + database: + image: mcr.microsoft.com/mssql/server:2022-latest + container_name: "slobodanemacenu_database" + user: root + ports: + - "#{DATABASE_PORT}#:1433" + environment: + - ACCEPT_EULA=Y + - MSSQL_SA_PASSWORD=#{DATABASE_PASSWORD}# + volumes: + - slobodanemacenu_database_data:/var/opt/mssql/data + restart: always + env_file: + - .env +volumes: + slobodanemacenu_database_data: diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..6c70c02 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,19 @@ +version: "3.9" + +services: + database: + image: mcr.microsoft.com/mssql/server:2022-latest + container_name: "slobodanemacenu_database" + user: root + ports: + - "${DATABASE_PORT}:1433" + environment: + - ACCEPT_EULA=Y + - MSSQL_SA_PASSWORD=${DATABASE_PASSWORD} + volumes: + - slobodanemacenu_database_data:/var/opt/mssql/data + restart: always + env_file: + - .env +volumes: + slobodanemacenu_database_data: