add GH action to build container

pull/3/head
Adam Veldhousen 2019-10-08 08:55:53 -05:00
parent dbbc5a1ff3
commit 5b43399ad1
Signed by: adam
GPG Key ID: 6DB29003C6DD1E4B
3 changed files with 39 additions and 7 deletions

16
.github/workflows/build_image.yml vendored Normal file
View File

@ -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

View File

@ -1,19 +1,26 @@
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 useradd -G sudo -U -u 1000 -m -s /bin/bash dev \
&& echo 'dev:dev' | chpasswd \
&& mkdir -p /home/dev/Projects \
&& rm -rf /home/dev/.bashrc \
&& chown -R dev:dev /home/dev/ \
&& echo "dev ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/dev_no_pass
USER 1000
WORKDIR /home/dev
COPY . /home/dev/Projects/dotfiles
RUN rm -rf /home/dev/.bashrc \
&& /home/dev/Projects/dotfiles/install dev \
RUN /home/dev/Projects/dotfiles/install dev \
&& sudo rm -rf /tmp/*
ENTRYPOINT ["/bin/bash", "--login"]

View File

@ -4,17 +4,26 @@
git submodule init && git submodule update
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
docker build -t adamveld12/dotfiles:deb-test -f ./Dockerfile.debian .
docker build -t vdhsn/dotfiles:deb-test -f ./Dockerfile.debian .
deb-test:
docker run -it --rm --name dotfiles \
-u $${USER_ID:-1000} \
-v $$PWD:/home/dotfiles/Projects/dotfiles:ro \
--workdir /home/dotfiles/Projects/dotfiles \
adamveld12/dotfiles:deb-test
vdhsn/dotfiles:deb-test
dev:
@ -22,5 +31,5 @@ dev:
-u $${USER_ID:-1000} \
-v $$PWD:/home/dev/Projects/dotfiles:ro \
--workdir /home/dev/Projects/dotfiles \
adamveld12/dotfiles:latest
vdhsn/dotfiles:$${VERSION:-latest}