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
|
||||
|
||||
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"]
|
||||
|
|
|
|||
17
makefile
17
makefile
|
|
@ -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}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue