Skip to content

creation du failed #100

creation du failed

creation du failed #100

Workflow file for this run

# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Fast-API CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
dockerhub_id: fallewi
dockerhub_repository: fastapi
dockerhub_latest: latest
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Test python Code
run: |
pip3 install -r requirements.txt
cd app/
pytest
build-push-container:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build the Docker image
run: |
docker build -t $dockerhub_id/$dockerhub_repository:${GITHUB_SHA} .
docker tag $dockerhub_id/$dockerhub_repository:$GITHUB_SHA $dockerhub_id/$dockerhub_repository:$dockerhub_latest
docker images
docker run -d -p 80:80 --name $dockerhub_repository $dockerhub_id/$dockerhub_repository:${GITHUB_SHA}
sleep 10
curl http://localhost
sleep 5
docker login -u ${{ secrets.REGISTRY_USER }} -p ${{ secrets.REGISTRY_PASSWD }}
docker push $dockerhub_id/$dockerhub_repository:${GITHUB_SHA}
docker push $dockerhub_id/$dockerhub_repository:$dockerhub_latest
deploy:
needs: build-push-container
name: deploy
runs-on: ubuntu-latest
steps:
- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOSTNAME }}
username: ${{ secrets.USER_NAME }}
key: ${{ secrets.AWS_PRIVATE_KEY }}
port: 22
script: |
sudo docker rm -f fastapi
sudo docker rmi fallewi/fastapi:latest
sleep 10
sudo docker run -d -p 9000:80 --name fastapi fallewi/fastapi:latest
sudo docker ps
sleep 10
curl localhost:9000
ls
sudo docker images