From 26d63949dee273008d03dca9f0d8c70f689384d1 Mon Sep 17 00:00:00 2001 From: Sadek-Murad Date: Sat, 3 Feb 2024 22:55:23 +0100 Subject: [PATCH 1/6] deploy to ec2 --- .github/workflow/cicd.yml | 30 ++++++++++++++++++++++++++++++ Dockerfile | 16 ++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 .github/workflow/cicd.yml create mode 100644 Dockerfile diff --git a/.github/workflow/cicd.yml b/.github/workflow/cicd.yml new file mode 100644 index 0000000..1444a5b --- /dev/null +++ b/.github/workflow/cicd.yml @@ -0,0 +1,30 @@ +name: CICD +on: + push: + branches: + -deploy-to-ec2 + + +jobs + build: + runs-on: ubuntu-latest + steps: + - name: Checkout Source + uses: actions/checkout@v3 + - name: Login to Docker Hub + run: docker login -u ${{secrets.DOCKER_USERNAME }} -p ${{secrets.DOCKER_PASSWORD }} + - name: Build Docker Image + run: docker build -t integrationninjasreactjs-app . + -name: Publish image to docker hub + run: docker push integrationninjasreactjs-app:latest + +deploy: + needs: build + runs-on: aws-ec2 + steps: + -name: Pull image from docker hub + run:docker pull integrationninjasreactjs-app:latest + -name: Delete Old Container + run: docker rm -f reactContainer + -name: Run docker container + run: docker run -d -p 3000:80 --name reactContainer integrationninjasreactjs-app \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9929157 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +# step 1 build react app +FROM node:alpine3.18 as build +WORKDIR /app +COPY package.json . +RUN npm install +COPY . . +RUN npm run build + +# step 2 server with Nginx +FROM Nginx:1.23-alpine +WORKDIR /user/share/Nginx/html +RUN rm -rf * +COPY --from=build /app/build . +EXPOSE 80 +ENTRYPOINT [ "Nginx", "-g" "deamon off;"] + From bbd4489593eee56c880cb97ac1b42367501e2fb1 Mon Sep 17 00:00:00 2001 From: Sadek-Murad Date: Sat, 3 Feb 2024 23:00:40 +0100 Subject: [PATCH 2/6] deploy to ec2 --- .github/{workflow => workflows}/cicd.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{workflow => workflows}/cicd.yml (100%) diff --git a/.github/workflow/cicd.yml b/.github/workflows/cicd.yml similarity index 100% rename from .github/workflow/cicd.yml rename to .github/workflows/cicd.yml From ddb48d885bdac1fe9c1f6fb26fa8444e04a3acde Mon Sep 17 00:00:00 2001 From: Sadek-Murad Date: Sat, 3 Feb 2024 23:06:13 +0100 Subject: [PATCH 3/6] deploy to ec2 --- .github/workflows/cicd.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index 1444a5b..82bc5d4 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -2,7 +2,7 @@ name: CICD on: push: branches: - -deploy-to-ec2 + - deploy-to-ec2 jobs @@ -24,7 +24,7 @@ deploy: steps: -name: Pull image from docker hub run:docker pull integrationninjasreactjs-app:latest - -name: Delete Old Container + - name: Delete Old Container run: docker rm -f reactContainer - -name: Run docker container + - name: Run docker container run: docker run -d -p 3000:80 --name reactContainer integrationninjasreactjs-app \ No newline at end of file From a3552fc94ebb1411d6bee15bff7ab87a14c8d981 Mon Sep 17 00:00:00 2001 From: Sadek-Murad Date: Sat, 3 Feb 2024 23:07:38 +0100 Subject: [PATCH 4/6] deploy to ec2 --- .github/workflows/cicd.yml | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index 82bc5d4..1d3ce6d 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -1,30 +1,35 @@ name: CICD + on: push: branches: - - deploy-to-ec2 - + - deploy-to-ec2 -jobs +jobs: build: runs-on: ubuntu-latest steps: - name: Checkout Source uses: actions/checkout@v3 - - name: Login to Docker Hub - run: docker login -u ${{secrets.DOCKER_USERNAME }} -p ${{secrets.DOCKER_PASSWORD }} - - name: Build Docker Image - run: docker build -t integrationninjasreactjs-app . - -name: Publish image to docker hub - run: docker push integrationninjasreactjs-app:latest + + - name: Login to Docker Hub + run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} + + - name: Build Docker Image + run: docker build -t integrationninjas/reactjs-app . + + - name: Publish image to docker hub + run: docker push integrationninjas/reactjs-app:latest deploy: needs: build runs-on: aws-ec2 steps: - -name: Pull image from docker hub - run:docker pull integrationninjasreactjs-app:latest - - name: Delete Old Container - run: docker rm -f reactContainer - - name: Run docker container - run: docker run -d -p 3000:80 --name reactContainer integrationninjasreactjs-app \ No newline at end of file + - name: Pull image from docker hub + run: docker pull integrationninjas/reactjs-app:latest + + - name: Delete Old Container + run: docker rm -f reactContainer + + - name: Run docker container + run: docker run -d -p 3000:80 --name reactContainer integrationninjas/reactjs-app From 2d41ac777e215203bf29eba7878bfe3a89bce880 Mon Sep 17 00:00:00 2001 From: Sadek-Murad Date: Sat, 3 Feb 2024 23:10:42 +0100 Subject: [PATCH 5/6] deploy to ec2 --- .github/workflows/cicd.yml | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index 1d3ce6d..82bc5d4 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -1,35 +1,30 @@ name: CICD - on: push: branches: - - deploy-to-ec2 + - deploy-to-ec2 + -jobs: +jobs build: runs-on: ubuntu-latest steps: - name: Checkout Source uses: actions/checkout@v3 - - - name: Login to Docker Hub - run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} - - - name: Build Docker Image - run: docker build -t integrationninjas/reactjs-app . - - - name: Publish image to docker hub - run: docker push integrationninjas/reactjs-app:latest + - name: Login to Docker Hub + run: docker login -u ${{secrets.DOCKER_USERNAME }} -p ${{secrets.DOCKER_PASSWORD }} + - name: Build Docker Image + run: docker build -t integrationninjasreactjs-app . + -name: Publish image to docker hub + run: docker push integrationninjasreactjs-app:latest deploy: needs: build runs-on: aws-ec2 steps: - - name: Pull image from docker hub - run: docker pull integrationninjas/reactjs-app:latest - - - name: Delete Old Container - run: docker rm -f reactContainer - - - name: Run docker container - run: docker run -d -p 3000:80 --name reactContainer integrationninjas/reactjs-app + -name: Pull image from docker hub + run:docker pull integrationninjasreactjs-app:latest + - name: Delete Old Container + run: docker rm -f reactContainer + - name: Run docker container + run: docker run -d -p 3000:80 --name reactContainer integrationninjasreactjs-app \ No newline at end of file From 07c5e2ac8d38ce61cafb4f9ff24b1a4373c82dee Mon Sep 17 00:00:00 2001 From: Sadek-Murad Date: Sat, 3 Feb 2024 23:13:22 +0100 Subject: [PATCH 6/6] deploy to ec2 --- .github/workflows/cicd.yml | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index 82bc5d4..3c1c851 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -1,30 +1,35 @@ name: CICD + on: push: branches: - - deploy-to-ec2 - + - deploy-to-ec2 -jobs +jobs: build: runs-on: ubuntu-latest steps: - name: Checkout Source uses: actions/checkout@v3 - - name: Login to Docker Hub - run: docker login -u ${{secrets.DOCKER_USERNAME }} -p ${{secrets.DOCKER_PASSWORD }} - - name: Build Docker Image - run: docker build -t integrationninjasreactjs-app . - -name: Publish image to docker hub - run: docker push integrationninjasreactjs-app:latest + + - name: Login to Docker Hub + run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} + + - name: Build Docker Image + run: docker build -t integrationninjas/reactjs-app . + + - name: Publish image to docker hub + run: docker push integrationninjas/reactjs-app:latest deploy: needs: build - runs-on: aws-ec2 + runs-on: aws-ec2 # Ändern Sie dies in eine gültige Runner-Umgebung steps: - -name: Pull image from docker hub - run:docker pull integrationninjasreactjs-app:latest - - name: Delete Old Container - run: docker rm -f reactContainer - - name: Run docker container - run: docker run -d -p 3000:80 --name reactContainer integrationninjasreactjs-app \ No newline at end of file + - name: Pull image from docker hub + run: docker pull integrationninjas/reactjs-app:latest + + - name: Delete Old Container + run: docker rm -f reactContainer + + - name: Run docker container + run: docker run -d -p 3000:80 --name reactContainer integrationninjas/reactjs-app