0 votes
by
Чтобы автоматизировать сборку нового Docker-образа и запуск контейнера при изменении кода в репозитории GitHub, вы можете использовать GitHub Actions. Ниже приведен пример конфигурационного файла для GitHub Actions (.github/workflows/docker_build_and_run.yml), который будет выполнять сборку образа и запуск контейнера при каждом push в репозиторий:

yaml

Copy code

name: Docker Build and Run

on:

  push:

    branches:

      - main  # Укажите здесь вашу основную ветку, если она отличается

jobs:

  build_and_run:

    runs-on: ubuntu-latest

    

    steps:

    - name: Checkout repository

      uses: actions/checkout@v2

    - name: Login to Docker Hub

      uses: docker/login-action@v1

      with:

        username: ${{ secrets.DOCKER_USERNAME }}

        password: ${{ secrets.DOCKER_PASSWORD }}

    - name: Build Docker image

      run: docker build -t your_image_name .

    - name: Push Docker image

      run: docker push your_image_name

    - name: Run Docker container

      run: docker run -d -p 8080:80 your_image_name

Обратите внимание на следующее:

Этот workflow будет запущен при каждом push в основную ветку репозитория (в данном случае, ветка main). Вы можете изменить условие триггера в соответствии с вашими потребностями.

Вам необходимо добавить свои учетные данные Docker Hub в секреты вашего репозитория GitHub с именами DOCKER_USERNAME и DOCKER_PASSWORD, чтобы GitHub Actions мог авторизоваться для публикации образа.

После успешной сборки и публикации Docker-образа, в конце workflow будет запущен контейнер с помощью команды docker run.

Этот пример можно настроить дальше в зависимости от ваших конкретных потребностей, например, для передачи дополнительных параметров сборки, тестирования и т. д.

Please log in or register to answer this question.

...