Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
D
Docker Nginx Quic
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
Docker Nginx Quic
Commits
1bb203d8
Commit
1bb203d8
authored
May 30, 2021
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
multi-arch ci
parent
7baeb6b4
Pipeline
#3406
failed with stages
in 4 minutes and 30 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
81 additions
and
90 deletions
+81
-90
.gitlab-ci.yml
.gitlab-ci.yml
+47
-89
Dockerfile
Dockerfile
+2
-1
Dockerfile.arm
Dockerfile.arm
+32
-0
No files found.
.gitlab-ci.yml
View file @
1bb203d8
image
:
docker:latest
services
:
-
docker:dind
stages
:
stages
:
-
build
-
build
-
test
-
combine
-
deploy
-
deploy
variables
:
variables
:
CI_IMAGE_TAG
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
GIT_DEPTH
:
"
1"
LAST_VERSION_FILE
:
.last_version
CONTAINER_TEST_IMAGE
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
CI_ENV_FILE
:
.ci.env
CONTAINER_TEST_ARM_IMAGE
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-arm
CONTAINER_TEST_X86_IMAGE
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-x86
CONTAINER_RELEASE_IMAGE
:
$CI_REGISTRY_IMAGE:latest
before_script
:
-
docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
docker-build
:
build-x86
:
stage
:
build
stage
:
build
cache
:
tags
:
paths
:
-
docker
-
$LAST_VERSION_FILE
artifacts
:
reports
:
dotenv
:
$CI_ENV_FILE
expire_in
:
30 minutes
before_script
:
-
apk add bash curl jq
-
docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script
:
script
:
-
chmod +x ./build.sh && /bin/bash ./build.sh
-
docker build --pull -t $CONTAINER_TEST_X86_IMAGE .
-
docker push "${CI_IMAGE_TAG}"
-
docker push $CONTAINER_TEST_X86_IMAGE
only
:
changes
:
-
"
Dockerfile"
-
"
nginx.conf"
-
"
.gitlab-ci.yml"
-
"
build.sh"
build-arm
:
stage
:
build
tags
:
-
docker-arm
script
:
-
docker build --pull -f Dockerfile.arm -t $CONTAINER_TEST_ARM_IMAGE .
-
docker push $CONTAINER_TEST_ARM_IMAGE
docker-tests
:
combine
:
stage
:
test
stage
:
combine
dependencies
:
tags
:
-
docker-build
-
docker
image
:
ymuski/curl-http3
services
:
-
name
:
"
$CI_IMAGE_TAG"
alias
:
nginxquic
script
:
script
:
-
curl --http3 -v --silent --insecure "https://nginxquic:443"
-
docker pull $CONTAINER_TEST_X86_IMAGE
-
/opt/httpstat.sh --http3 "https://nginxquic:443"
-
docker pull $CONTAINER_TEST_ARM_IMAGE
only
:
-
docker manifest create $CONTAINER_TEST_IMAGE --amend $CONTAINER_TEST_X86_IMAGE --amend $CONTAINER_TEST_ARM_IMAGE
changes
:
-
docker manifest push $CONTAINER_TEST_IMAGE
-
"
Dockerfile"
-
"
nginx.conf"
-
"
.gitlab-ci.yml"
-
"
build.sh"
deploy_latest
:
stage
:
deploy
tags
:
-
docker
script
:
-
docker pull $CONTAINER_TEST_IMAGE
-
docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE
-
docker push $CONTAINER_RELEASE_IMAGE
only
:
-
master
d
ocker-publish
:
d
eploy_tag
:
stage
:
deploy
stage
:
deploy
dependencies
:
tags
:
-
docker-build
-
docker
-
docker-tests
variables
:
variables
:
FULL_VERSION
:
$FULL_VERSION
CONTAINER_TAG_IMAGE
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
VERSION
:
$VERSION
cache
:
paths
:
-
$LAST_VERSION_FILE
before_script
:
-
docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
-
docker login -u "$DP_REGISTRY_USER" -p "$DP_REGISTRY_PASSWORD" $DP_REGISTRY
script
:
script
:
-
docker pull "${CI_IMAGE_TAG}"
-
docker pull $CONTAINER_TEST_IMAGE
-
docker tag $CONTAINER_TEST_IMAGE $CONTAINER_TAG_IMAGE
-
docker tag "${CI_IMAGE_TAG}" "${CI_REGISTRY_IMAGE}:latest"
-
docker push $CONTAINER_TAG_IMAGE
-
docker tag "${CI_IMAGE_TAG}" "${CI_REGISTRY_IMAGE}:${VERSION}"
-
docker tag "${CI_IMAGE_TAG}" "${CI_REGISTRY_IMAGE}:archlinux"
-
docker tag "${CI_IMAGE_TAG}" "${CI_REGISTRY_IMAGE}:${VERSION}-archlinux"
-
docker push "${CI_REGISTRY_IMAGE}:latest"
-
docker push "${CI_REGISTRY_IMAGE}:${VERSION}"
-
docker push "${CI_REGISTRY_IMAGE}:archlinux"
-
docker push "${CI_REGISTRY_IMAGE}:${VERSION}-archlinux"
-
docker tag "${CI_IMAGE_TAG}" "${DP_REGISTRY_IMAGE}:latest"
-
docker tag "${CI_IMAGE_TAG}" "${DP_REGISTRY_IMAGE}:${VERSION}"
-
docker tag "${CI_IMAGE_TAG}" "${DP_REGISTRY_IMAGE}:archlinux"
-
docker tag "${CI_IMAGE_TAG}" "${DP_REGISTRY_IMAGE}:${VERSION}-archlinux"
-
docker push "${DP_REGISTRY_IMAGE}:latest"
-
docker push "${DP_REGISTRY_IMAGE}:${VERSION}"
-
docker push "${DP_REGISTRY_IMAGE}:archlinux"
-
docker push "${DP_REGISTRY_IMAGE}:${VERSION}-archlinux"
-
echo $FULL_VERSION > $LAST_VERSION_FILE
only
:
only
:
refs
:
-
tags
-
master
-
schedules
-
web
variables
:
-
$DP_REGISTRY && $DP_REGISTRY_USER && $DP_REGISTRY_PASSWORD && $DP_REGISTRY_IMAGE
changes
:
-
"
Dockerfile"
-
"
nginx.conf"
-
"
.gitlab-ci.yml"
-
"
build.sh"
Dockerfile
View file @
1bb203d8
FROM
archlinux:base-devel
FROM
archlinux
/archlinux
:base-devel
RUN
set
-x
\
RUN
set
-x
\
&&
echo
'Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch'
>
/etc/pacman.d/mirrorlist
\
&&
groupadd
--gid
101
--system
nginx
\
&&
groupadd
--gid
101
--system
nginx
\
&&
useradd
--uid
101
--gid
nginx
--system
--create-home
--home-dir
/var/cache/nginx
--shell
/sbin/nologin nginx
\
&&
useradd
--uid
101
--gid
nginx
--system
--create-home
--home-dir
/var/cache/nginx
--shell
/sbin/nologin nginx
\
&&
echo
"nginx ALL=(ALL) NOPASSWD:ALL"
>
/etc/sudoers.d/nginx
\
&&
echo
"nginx ALL=(ALL) NOPASSWD:ALL"
>
/etc/sudoers.d/nginx
\
...
...
Dockerfile.arm
0 → 100644
View file @
1bb203d8
FROM lopsided/archlinux:devel
RUN set -x \
&& echo 'Server = https://mirrors.aliyun.com/archlinuxarm/$arch/$repo/' > /etc/pacman.d/mirrorlist \
&& groupadd --gid 101 --system nginx \
&& useradd --uid 101 --gid nginx --system --create-home --home-dir /var/cache/nginx --shell /sbin/nologin nginx \
&& echo "nginx ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/nginx \
&& pacman --noconfirm -Sy git \
&& mkdir -m 777 /aur \
&& su nginx -s /bin/sh -c " \
cd /aur \
&& git clone https://aur.archlinux.org/nginx-quic.git \
&& cd nginx-quic \
&& makepkg -scri --noconfirm \
" \
&& rm -f /etc/sudoers.d/nginx \
&& rm -rf /aur \
&& rm -rf /var/cache/pacman/pkg/*
RUN openssl req -x509 -newkey rsa:4096 -days 365 -subj '/CN=localhost/O=localhost/C=US' \
-nodes -keyout /etc/nginx/cert.key -out /etc/nginx/cert.pem \
&& ln -sf /dev/stdout /var/log/nginx/access.log \
&& ln -sf /dev/stderr /var/log/nginx/error.log
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
EXPOSE 443/tcp
EXPOSE 443/udp
STOPSIGNAL SIGQUIT
CMD ["nginx", "-g", "daemon off;"]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment