Question

Update App Platform to user Github action and Docker

My original code was in Django. I have since created a full stack application with Django Rest Framework and Angular. I also wrap both end in a Docker container.

I am now getting errors in the build ‘could not detect app files that match known buildpacks’.

My old buildpack are: Custom Build Command, Profile, and Python. How can I remove some of these buildpacks?

I know why I am getting this error. My code formate is: -.github -workflows -deployment.yml

  • backend
    • backend applications
    • Dockerfile
    • manage.py
    • requirement.txt
  • frontend
    • angular frontend code
    • nginx
    • Dockerfile
  • .dockerignor
  • docker-compose.yml

My deployment.yml:

name: Upload to Digital Ocean

on:
  pull_request:
    branches:
      - prod
  push:
    branches:
      - prod

jobs:
  build-and-deploy-back:
    name: Build and Deploy Backend
    runs-on: ubuntu-20.04
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v2
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2
      - name: Login to DockerHub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKERHUB_USER }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}

      - name: Build and push Docker image
        uses: docker/build-push-action@v3
        with:
          context: ./backend
          push: true
          tags: ${{ secrets.DOCKERHUB_USER }}/uop-backend:latest

  build-and-deploy-frontend:
    name: Build and Deploy Frontend
    runs-on: ubuntu-20.04
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v2
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2
      - name: Login to DockerHub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKERHUB_USER }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}

      - name: Build and push Docker image
        uses: docker/build-push-action@v3
        with:
          context: ./frontend
          push: true
          tags: ${{ secrets.DOCKERHUB_USER }}/uop-frontend:latest

  deploy-to-digitalocean:
    runs-on: ubuntu-latest
    name: Deploy To Digital Ocean
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      - name: Deploy
        uses: digitalocean/app_action@main
        with:
          app_name: sea-lion-app
          token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
          images:
            '[{
              "name": "",
              "image": {
                "registry_type": "DOCR"
                "repository": "uop-backend"
                "tag":"latest"
              },
            },
            {
            "name":"",
            "image":{
            "registry_type": "DOCR"
                "repository": "uop-frontend"
                "tag":"latest"
            }
            }]'

To get the last job, I follow https://github.com/digitalocean/sample-golang-github-action, and the first two jobs was from a YouTube. The last job is giving me the error, as well as the build error from the build packs.

What am I missing? I cannot destroy the app because then my database will be destroy.


Submit an answer
Answer a question...

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer