Reparando la instalación de Docker #26
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Pipeline - Prov QA | |
on: | |
push: | |
branches: | |
- martin-prov-qa | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.PEM_PROV_QA }} | |
REMOTE_USER: ec2-user | |
REMOTE_HOST: ${{ secrets.IP_PROV_QA }} | |
GH_TOKEN: ${{ secrets.TOKEN_PROV }} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Install Docker | |
run: | |
if ! command -v docker > /dev/null; then | |
sudo yum install docker -y | |
else | |
echo "docker is installed." | |
fi | |
if systemctl is-active --quiet docker; then | |
echo "Docker service is already running." | |
else | |
sudo systemctl start docker | |
fi | |
- name: Build Docker Image | |
run: | | |
docker build . -t 471626/imagen-prov-qa:latest | |
- name: Login to Docker Hub | |
run: echo "${{ secrets.TOKEN_PROV_QA }}" | docker login -u 471626 --password-stdin | |
- name: Push to Docker Hub | |
run: docker push 471626/imagen-prov-qa:latest | |
- name: Deploy to QA Environment (using secrets) | |
run: | |
docker pull 471626/imagen-prov-qa && docker run -d -p 3000:3000 471626/imagen-prov-qa | |
- name: Verify Service is Running | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ env.REMOTE_HOST }} | |
username: ${{ env.REMOTE_USER }} | |
key: ${{ env.SSH_PRIVATE_KEY }} | |
script: | | |
if netstat -an | grep :3000; then | |
echo "App ok" | |
else | |
echo "Error" | |
exit 1 | |
fi |