add GH action to build container
parent
dbbc5a1ff3
commit
5b43399ad1
|
|
@ -0,0 +1,16 @@
|
||||||
|
name: Docker Image CI
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: Build the Docker image
|
||||||
|
env:
|
||||||
|
DOCKER_USER: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
DOCKER_PASS: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
run: |
|
||||||
|
docker login -u ${DOCKER_USER} -p ${DOCKER_PASS}
|
||||||
|
VERSION="${GITHUB_SHA:0:10}" COMMIT_SHA="$GITHUB_SHA" make publish
|
||||||
13
Dockerfile
13
Dockerfile
|
|
@ -1,19 +1,26 @@
|
||||||
FROM debian:bullseye
|
FROM debian:bullseye
|
||||||
|
|
||||||
|
ARG version=dev
|
||||||
|
ARG commit=dev
|
||||||
|
ARG created=never
|
||||||
|
|
||||||
|
LABEL net.veldhousen.version=${version}
|
||||||
|
LABEL net.veldhousen.commit=${commit}
|
||||||
|
LABEL net.veldhousen.created=${created}
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y sudo apt-utils && apt-get clean
|
RUN apt-get update && apt-get install -y sudo apt-utils && apt-get clean
|
||||||
RUN useradd -G sudo -U -u 1000 -m -s /bin/bash dev \
|
RUN useradd -G sudo -U -u 1000 -m -s /bin/bash dev \
|
||||||
&& echo 'dev:dev' | chpasswd \
|
&& echo 'dev:dev' | chpasswd \
|
||||||
&& mkdir -p /home/dev/Projects \
|
&& mkdir -p /home/dev/Projects \
|
||||||
|
&& rm -rf /home/dev/.bashrc \
|
||||||
&& chown -R dev:dev /home/dev/ \
|
&& chown -R dev:dev /home/dev/ \
|
||||||
&& echo "dev ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/dev_no_pass
|
&& echo "dev ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/dev_no_pass
|
||||||
|
|
||||||
|
|
||||||
USER 1000
|
USER 1000
|
||||||
|
|
||||||
WORKDIR /home/dev
|
WORKDIR /home/dev
|
||||||
COPY . /home/dev/Projects/dotfiles
|
COPY . /home/dev/Projects/dotfiles
|
||||||
RUN rm -rf /home/dev/.bashrc \
|
RUN /home/dev/Projects/dotfiles/install dev \
|
||||||
&& /home/dev/Projects/dotfiles/install dev \
|
|
||||||
&& sudo rm -rf /tmp/*
|
&& sudo rm -rf /tmp/*
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/bash", "--login"]
|
ENTRYPOINT ["/bin/bash", "--login"]
|
||||||
|
|
|
||||||
17
makefile
17
makefile
|
|
@ -4,17 +4,26 @@
|
||||||
git submodule init && git submodule update
|
git submodule init && git submodule update
|
||||||
|
|
||||||
build: ./tools
|
build: ./tools
|
||||||
docker build -t adamveld12/dotfiles:latest -f ./Dockerfile .
|
docker build -t vdhsn/dotfiles:$${VERSION:-latest} \
|
||||||
|
--build-arg version=$${VERSION} \
|
||||||
|
--build-arg commit=$${COMMIT_SHA:-$${CIRCLE_SHA1}} \
|
||||||
|
--build-arg initiator=$${INITIATOR:-$${CIRCLE_USERNAME}} \
|
||||||
|
--build-arg created=$${CREATED_TS:-$$(date +%s)} \
|
||||||
|
-f ./Dockerfile .
|
||||||
|
|
||||||
|
|
||||||
|
publish: build
|
||||||
|
docker push vdhsn/dotfiles:$${VERSION}
|
||||||
|
|
||||||
build-test: ./tools
|
build-test: ./tools
|
||||||
docker build -t adamveld12/dotfiles:deb-test -f ./Dockerfile.debian .
|
docker build -t vdhsn/dotfiles:deb-test -f ./Dockerfile.debian .
|
||||||
|
|
||||||
deb-test:
|
deb-test:
|
||||||
docker run -it --rm --name dotfiles \
|
docker run -it --rm --name dotfiles \
|
||||||
-u $${USER_ID:-1000} \
|
-u $${USER_ID:-1000} \
|
||||||
-v $$PWD:/home/dotfiles/Projects/dotfiles:ro \
|
-v $$PWD:/home/dotfiles/Projects/dotfiles:ro \
|
||||||
--workdir /home/dotfiles/Projects/dotfiles \
|
--workdir /home/dotfiles/Projects/dotfiles \
|
||||||
adamveld12/dotfiles:deb-test
|
vdhsn/dotfiles:deb-test
|
||||||
|
|
||||||
|
|
||||||
dev:
|
dev:
|
||||||
|
|
@ -22,5 +31,5 @@ dev:
|
||||||
-u $${USER_ID:-1000} \
|
-u $${USER_ID:-1000} \
|
||||||
-v $$PWD:/home/dev/Projects/dotfiles:ro \
|
-v $$PWD:/home/dev/Projects/dotfiles:ro \
|
||||||
--workdir /home/dev/Projects/dotfiles \
|
--workdir /home/dev/Projects/dotfiles \
|
||||||
adamveld12/dotfiles:latest
|
vdhsn/dotfiles:$${VERSION:-latest}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue