add workflow for building and pushing docker image to ACR

This commit is contained in:
Lili Deng 2024-10-12 16:16:48 +08:00 коммит произвёл LiliDeng
Родитель d037082e5f
Коммит d3264e4e24
2 изменённых файлов: 50 добавлений и 0 удалений

33
.github/workflows/docker-image.yml поставляемый Normal file
Просмотреть файл

@ -0,0 +1,33 @@
name: Build and Push Docker Image to ACR
on:
release:
types: [published]
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Azure Container Registry
run: |
echo ${{ secrets.ACR_PASSWORD }} | docker login ${{ secrets.ACR_LOGIN_SERVER }} -u ${{ secrets.ACR_USERNAME }} --password-stdin
- name: Build and Push Docker Image
run: |
docker build -t ${{ secrets.ACR_LOGIN_SERVER }}/${{ secrets.ACR_REPOSITORY }}:${{ github.event.release.tag_name }}
docker tag ${{ secrets.ACR_LOGIN_SERVER }}/${{ secrets.ACR_REPOSITORY }}:${{ github.event.release.tag_name }} ${{ secrets.ACR_LOGIN_SERVER }}/${{ secrets.ACR_REPOSITORY }}:latest
docker push ${{ secrets.ACR_LOGIN_SERVER }}/${{ secrets.ACR_REPOSITORY }}:${{ github.event.release.tag_name }}
docker push ${{ secrets.ACR_LOGIN_SERVER }}/${{ secrets.ACR_REPOSITORY }}:latest
- name: Log out from ACR
run: |
docker logout ${{ secrets.ACR_LOGIN_SERVER }}

17
Dockerfile Normal file
Просмотреть файл

@ -0,0 +1,17 @@
FROM mcr.microsoft.com/cbl-mariner/base/core:2.0
# Set the working directory
WORKDIR /app
# Install necessary system dependencies
RUN tdnf update -y
RUN tdnf install -y git gcc gobject-introspection-devel cairo-gobject cairo-devel pkg-config libvirt-devel python3-devel python3-pip python3-virtualenv build-essential cairo-gobject-devel curl ca-certificates
# Clone the latest release of LISA from the GitHub repository
RUN git clone --branch $(curl --silent "https://api.github.com/repos/microsoft/lisa/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') https://github.com/microsoft/lisa.git /app/lisa
# Install Python dependencies for LISA
RUN python3 -m pip install --upgrade pip
WORKDIR /app/lisa
RUN python3 -m pip install --editable .[azure,libvirt,baremetal] --config-settings editable_mode=compat
RUN ln -fs /app/.local/bin/lisa /bin/lisa