Part3
This commit is contained in:
parent
1a5357e1df
commit
e98d78b444
16 changed files with 109 additions and 8 deletions
|
@ -1,8 +0,0 @@
|
||||||
FROM node:16.19
|
|
||||||
EXPOSE 8080
|
|
||||||
WORKDIR /usr/src/app
|
|
||||||
COPY package*.json ./
|
|
||||||
COPY . .
|
|
||||||
RUN npm install && npm run build
|
|
||||||
RUN npm install -g serve
|
|
||||||
CMD ["serve", "-s", "-l", "8080", "build"]
|
|
1
Part3/Exercise01/submission.txt
Normal file
1
Part3/Exercise01/submission.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
https://github.com/ArcticCoder/github-actions-exercise
|
1
Part3/Exercise02/link.txt
Normal file
1
Part3/Exercise02/link.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
https://github.com/ArcticCoder/docker-cloud-deploy-exercise
|
5
Part3/Exercise03/builder.sh
Executable file
5
Part3/Exercise03/builder.sh
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
git clone https://github.com/$1.git ./repo
|
||||||
|
cd ./repo
|
||||||
|
docker build . -t $2
|
||||||
|
docker push $2
|
5
Part3/Exercise04/Dockerfile
Normal file
5
Part3/Exercise04/Dockerfile
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
FROM docker:23.0.1-cli
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
COPY ./builder.sh ./builder.sh
|
||||||
|
RUN apk add git
|
||||||
|
ENTRYPOINT ["/usr/src/app/builder.sh"]
|
6
Part3/Exercise04/builder.sh
Executable file
6
Part3/Exercise04/builder.sh
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
git clone https://github.com/$1.git ./repo
|
||||||
|
cd ./repo
|
||||||
|
docker build . -t $2
|
||||||
|
docker login -u $DOCKER_USER -p $DOCKER_PWD
|
||||||
|
docker push $2
|
9
Part3/Exercise05/Dockerfile_back
Normal file
9
Part3/Exercise05/Dockerfile_back
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
FROM golang:1.16
|
||||||
|
EXPOSE 8080
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
COPY . .
|
||||||
|
ENV REQUEST_ORIGIN=http://devops:5000
|
||||||
|
RUN go build
|
||||||
|
RUN useradd -m appuser
|
||||||
|
USER appuser
|
||||||
|
CMD ["./server"]
|
11
Part3/Exercise05/Dockerfile_front
Normal file
11
Part3/Exercise05/Dockerfile_front
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
FROM node:16.19
|
||||||
|
EXPOSE 5000
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
COPY package*.json ./
|
||||||
|
COPY . .
|
||||||
|
ENV REACT_APP_BACKEND_URL=http://devops:8080
|
||||||
|
RUN npm install && npm run build
|
||||||
|
RUN npm install -g serve
|
||||||
|
RUN useradd -m appuser
|
||||||
|
USER appuser
|
||||||
|
CMD ["serve", "-s", "-l", "5000", "build"]
|
9
Part3/Exercise06/sizes.txt
Normal file
9
Part3/Exercise06/sizes.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Before:
|
||||||
|
Front - 1.26GB
|
||||||
|
Back - 1.07GB
|
||||||
|
|
||||||
|
After:
|
||||||
|
Front - 1.26GB
|
||||||
|
Back - 1.07GB
|
||||||
|
|
||||||
|
No visible difference at this scale.
|
7
Part3/Exercise07/sizes.txt
Normal file
7
Part3/Exercise07/sizes.txt
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Before:
|
||||||
|
Front - 1.26GB
|
||||||
|
Back - 1.07GB
|
||||||
|
|
||||||
|
After:
|
||||||
|
Front - 463MB
|
||||||
|
Back - 447MB
|
15
Part3/Exercise08/Dockerfile
Normal file
15
Part3/Exercise08/Dockerfile
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
FROM node:16.19-alpine3.16 as build-stage
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
COPY package*.json ./
|
||||||
|
COPY . .
|
||||||
|
ENV REACT_APP_BACKEND_URL=http://devops:8080
|
||||||
|
RUN npm install && npm run build
|
||||||
|
|
||||||
|
FROM node:16.19-alpine3.16
|
||||||
|
EXPOSE 5000
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
COPY --from=build-stage /usr/src/app/build /usr/src/app/build
|
||||||
|
RUN npm install -g serve && \
|
||||||
|
adduser -D appuser
|
||||||
|
USER appuser
|
||||||
|
CMD ["serve", "-s", "-l", "5000", "build"]
|
5
Part3/Exercise08/sizes.txt
Normal file
5
Part3/Exercise08/sizes.txt
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Before:
|
||||||
|
Front - 463MB
|
||||||
|
|
||||||
|
After:
|
||||||
|
Front - 127MB
|
12
Part3/Exercise09/Dockerfile
Normal file
12
Part3/Exercise09/Dockerfile
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
FROM golang:1.16.15-alpine3.15 as build-stage
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
COPY . .
|
||||||
|
RUN adduser -D appuser && CGO_ENABLED=0 go build
|
||||||
|
|
||||||
|
FROM scratch
|
||||||
|
EXPOSE 8080
|
||||||
|
ENV REQUEST_ORIGIN=http://devops:5000
|
||||||
|
COPY --from=build-stage /usr/src/app/server /
|
||||||
|
COPY --from=build-stage /etc/passwd /etc/passwd
|
||||||
|
USER appuser
|
||||||
|
CMD ["/server"]
|
5
Part3/Exercise09/sizes.txt
Normal file
5
Part3/Exercise09/sizes.txt
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Before:
|
||||||
|
Back - 447MB
|
||||||
|
|
||||||
|
After:
|
||||||
|
Back - 18MB
|
16
Part3/Exercise10/Dockerfile
Normal file
16
Part3/Exercise10/Dockerfile
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# Using the -slim images instead of alpine, because the alpine images threw error:
|
||||||
|
# library initialization failed - unable to allocate file descriptor table - out of memory
|
||||||
|
# and I didn't want to submit something that required modifying Docker settings
|
||||||
|
FROM openjdk:8-jdk-slim as build
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
COPY pom.xml ./
|
||||||
|
COPY . .
|
||||||
|
RUN ./mvnw package
|
||||||
|
|
||||||
|
FROM openjdk:8-jre-slim
|
||||||
|
EXPOSE 8080
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
COPY --from=build /usr/src/app/target/docker-example-1.1.3.jar .
|
||||||
|
RUN useradd -m appuser
|
||||||
|
USER appuser
|
||||||
|
CMD ["java", "-jar", "./docker-example-1.1.3.jar"]
|
2
Part3/Exercise10/sizes.txt
Normal file
2
Part3/Exercise10/sizes.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Before: 435MB
|
||||||
|
After: 213MB
|
Reference in a new issue