feat: add hadolint Dockerfile linting
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
commit 5acb4e2ba773d312c6b5159011ef415af53f8f71 Author: surtur <a_mirre@utb.cz> Date: Tue Jan 26 16:28:10 2021 +0100 chore: rework ci pipeline logic * run {debug,release} builds after clone, then lint Dockerfile{,.dev} and finally run kaniko builds ({debug,release}) in parallel commit 1e16f72eb4957b14c7fb316282d4cefae0811871 Author: surtur <a_mirre@utb.cz> Date: Tue Jan 26 16:19:50 2021 +0100 feat: add hadolint Dockerfile linting to conform the linter and best practices: * add a FROM alias * quote variables (even though they're single-word and known in advance, might actually change it to ignore the warning)
This commit is contained in:
parent
4c78f0e417
commit
bb189cac7f
18
.drone.yml
18
.drone.yml
|
@ -18,6 +18,7 @@ steps:
|
|||
- name: debug
|
||||
pull: always
|
||||
image: mcr.microsoft.com/dotnet/core/sdk:3.1-alpine
|
||||
depends_on: [clone]
|
||||
commands:
|
||||
- dotnet restore
|
||||
- dotnet build .
|
||||
|
@ -25,13 +26,29 @@ steps:
|
|||
- name: release
|
||||
pull: always
|
||||
image: mcr.microsoft.com/dotnet/core/sdk:3.1-alpine
|
||||
depends_on: [clone]
|
||||
commands:
|
||||
- dotnet restore
|
||||
- dotnet publish -c Release -o out
|
||||
|
||||
- name: hadolint release
|
||||
image: hadolint/hadolint:latest
|
||||
depends_on: [clone]
|
||||
commands:
|
||||
- hadolint --version
|
||||
- hadolint Dockerfile
|
||||
|
||||
- name: hadolint debug
|
||||
image: hadolint/hadolint:latest
|
||||
depends_on: [clone]
|
||||
commands:
|
||||
- hadolint --version
|
||||
- hadolint Dockerfile.dev
|
||||
|
||||
- name: docker-release-build
|
||||
pull: always
|
||||
image: ghcr.io/finitum/drone-kaniko:0.7.0
|
||||
depends_on: [release, hadolint release]
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
context: .
|
||||
|
@ -39,6 +56,7 @@ steps:
|
|||
- name: docker-debug-build
|
||||
pull: always
|
||||
image: ghcr.io/finitum/drone-kaniko:0.7.0
|
||||
depends_on: [debug, hadolint debug]
|
||||
settings:
|
||||
dockerfile: Dockerfile.dev
|
||||
context: .
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
ignored:
|
||||
# ad "SC2039 In POSIX sh, UID is undefined." - it's a var defined by us
|
||||
- SC2039
|
|
@ -1,4 +1,4 @@
|
|||
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine AS base
|
||||
ENV UID 1000
|
||||
ENV GID 1000
|
||||
ENV UNAME unpriv
|
||||
|
@ -13,8 +13,8 @@ RUN dotnet publish -c Release -o bin/out
|
|||
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:3.1
|
||||
WORKDIR /App
|
||||
COPY --from=0 /src/bin/out/ .
|
||||
RUN chown -R ${UID}:${GID} ./
|
||||
COPY --from=base /src/bin/out/ .
|
||||
RUN chown -R "${UID}":"${GID}" ./
|
||||
USER ${UNAME}
|
||||
ENV ASPNETCORE_ENVIRONMENT=Release
|
||||
ENTRYPOINT ["dotnet", "pwt-0x01-ng.dll"]
|
||||
|
|
|
@ -10,7 +10,7 @@ RUN dotnet restore
|
|||
|
||||
COPY . ./
|
||||
RUN dotnet build -c Debug -o bin/out
|
||||
RUN chown -R ${UID}:${GID} ./ /root/
|
||||
RUN chown -R "${UID}":"${GID}" ./ /root/
|
||||
USER ${UNAME}
|
||||
|
||||
ENV ASPNETCORE_ENVIRONMENT=Development
|
||||
|
|
Reference in New Issue