Add first work
This commit is contained in:
parent
2ab8345c23
commit
4ec2a92607
27
.gitlab-ci.yml
Normal file
27
.gitlab-ci.yml
Normal file
@ -0,0 +1,27 @@
|
||||
workflow:
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH
|
||||
|
||||
cache:
|
||||
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
|
||||
|
||||
stages:
|
||||
# At first debian : init variables
|
||||
#- build-debian
|
||||
#- create-debian-package
|
||||
#- test-publish-debian
|
||||
- Docker-hub-build
|
||||
#- Docker-hub-test
|
||||
#- Docker-hub-pushtag
|
||||
|
||||
### All
|
||||
#- build
|
||||
#- create-package
|
||||
#- test-publish
|
||||
|
||||
include:
|
||||
# - 'gitlabci/docker-hub.yml'
|
||||
# - 'gitlabci/debianbuster.yml'
|
||||
# - 'gitlabci/ubuntubionic.yml'
|
||||
# - 'gitlabci/raspbianbuster.yml'
|
||||
# - 'gitlabci/ubuntufocal.yml'
|
||||
@ -1,15 +1,14 @@
|
||||
FROM registry.cer.ssaim.dnum.minint.fr/images/internet/debian:buster
|
||||
FROM debian:buster
|
||||
|
||||
ENV SQUID_CACHE_DIR=/var/spool/squid \
|
||||
SQUID_LOG_DIR=/var/log/squid \
|
||||
SQUID_USER=proxy \
|
||||
SQUID_VERSION=4.14
|
||||
|
||||
WORKDIR /tmp
|
||||
|
||||
RUN apt-get update && apt-get --no-install-recommends -y build-dep squid && apt-get install --no-install-recommends -y wget tar xz-utils libssl-dev libssl1.1 \
|
||||
&& mkdir squid && wget http://www.squid-cache.org/Versions/v4/squid-$SQUID_VERSION.tar.xz \
|
||||
&& tar -C squid --strip-components=1 -xvf squid-$SQUID_VERSION.tar.xz \
|
||||
&& mkdir squid && wget http://www.squid-cache.org/Versions/v4/$SQUID_VERSION.tar.gz \
|
||||
&& tar -C squid --strip-components=1 -xvf $SQUID_VERSION \
|
||||
&& cd squid \
|
||||
&& ./configure \
|
||||
--prefix=/usr \
|
||||
|
||||
89
gitlabci/debianbuster.yml
Normal file
89
gitlabci/debianbuster.yml
Normal file
@ -0,0 +1,89 @@
|
||||
Build debian package:
|
||||
stage: build-debian
|
||||
artifacts:
|
||||
expire_in: 30 minutes
|
||||
paths:
|
||||
- $CI_PROJECT_DIR
|
||||
image: amd64/debian:stable
|
||||
variables:
|
||||
OS: "debian"
|
||||
script:
|
||||
- apt update
|
||||
- apt-get -y upgrade
|
||||
- apt install --no-install-recommends --no-install-suggests -y curl unzip base-files automake base-passwd
|
||||
bash coreutils dash debianutils diffutils dpkg e2fsprogs findutils grep gzip hostname ncurses-base
|
||||
libevent-pthreads-* libevent-dev ncurses-bin perl-base sed login sysvinit-utils tar bsdutils
|
||||
mount util-linux libc6-dev libc-dev gcc g++ make dpkg-dev autotools-dev debhelper dh-autoreconf dpatch
|
||||
libclamav-dev libpcre3-dev zlib1g-dev pkg-config libssl-dev libssl1.1 git ca-certificates lsb-release
|
||||
- cd $CI_PROJECT_DIR && ./autogen.sh && ./configure '--prefix=/usr' '--enable-clamd=yes' '--with-proxyuser=e2guardian' '--with-proxygroup=e2guardian' '--sysconfdir=/etc' '--localstatedir=/var' '--enable-icap=yes' '--enable-commandline=yes' '--enable-email=yes' '--enable-ntlm=yes' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--enable-pcre=yes' '--enable-sslmitm=yes' 'CPPFLAGS=-mno-sse2 -g -O2'
|
||||
- make
|
||||
- find $CI_PROJECT_DIR -name ".git" -exec rm -r "{}" +
|
||||
|
||||
Create Debian Package:
|
||||
stage: create-debian-package
|
||||
image: amd64/debian:stable
|
||||
artifacts:
|
||||
paths:
|
||||
- $CI_PROJECT_DIR
|
||||
variables:
|
||||
PACKPATH: "$CI_PROJECT_DIR"
|
||||
PACKDST: "$CI_PROJECT_DIR/scripts/debian_package/e2debian_package"
|
||||
OS: "debian"
|
||||
script:
|
||||
- apt update && apt install --no-install-recommends --no-install-suggests -y curl git ca-certificates util-linux binutils
|
||||
- git clone https://github.com/fredbcode/scripts
|
||||
- cp ${PACKPATH}/src/e2guardian ${PACKDST}/data/usr/sbin/e2guardian
|
||||
- chmod +x ${PACKDST}/data/usr/sbin/e2guardian
|
||||
- cp -Rf ${PACKPATH}/configs ${PACKDST}/data/etc/e2guardian
|
||||
- mkdir -p ${PACKPATH}/share/e2guardian/languages
|
||||
- cp -Rf ${PACKPATH}/data/languages ${PACKDST}/data/usr/share/e2guardian/
|
||||
- cp ${PACKPATH}/data/*.gif ${PACKDST}/data/usr/share/e2guardian/
|
||||
- cp ${PACKPATH}/data/*swf ${PACKDST}/data/usr/share/e2guardian/
|
||||
- cp ${PACKPATH}/data/scripts/e2guardian.service ${PACKDST}/data/lib/systemd/system
|
||||
- find ${PACKDST}/ -type f -name "Makefil*" -delete
|
||||
- find ${PACKDST}/ -type f -name "*.in" -delete
|
||||
- SIZE=`stat -c %s ${PACKDST}/data` && echo $SIZE && sed -i "s/Installed-Size:.*$/Installed-Size:\ $SIZE/g" ${PACKDST}/control/control
|
||||
- VFULL=`${PACKDST}/data/usr/sbin/e2guardian -v | sed -n 1p | cut -d ' ' -f 2` && sed -i "s/Version:.*$/Version:\ $VFULL/g" ${PACKDST}/control/control
|
||||
- echo "export VFULL=$VFULL" >> $CI_PROJECT_DIR/scripts/debian_package/variables
|
||||
- cd ${PACKDST} && cd .. && ./rebuild.sh e2"$OS"_package
|
||||
- find $CI_PROJECT_DIR -name ".git" -exec rm -r "{}" +
|
||||
|
||||
Test and publish Debian:
|
||||
stage: test-publish-debian
|
||||
image: amd64/debian:stable
|
||||
artifacts:
|
||||
name: builddebian
|
||||
paths:
|
||||
- $CI_PROJECT_DIR
|
||||
variables:
|
||||
PACKPATH: "$CI_PROJECT_DIR"
|
||||
PACKDST: "$CI_PROJECT_DIR/scripts/debian_package"
|
||||
CERT_DIR: "/etc/e2guardian/private/"
|
||||
OS: "debian"
|
||||
script:
|
||||
- source $CI_PROJECT_DIR/scripts/debian_package/variables
|
||||
- echo $VFULL
|
||||
- apt update
|
||||
- apt install -y openssl curl git lsb-release libevent-pthreads* libtommath*
|
||||
- VERSION=`lsb_release -cs`
|
||||
- cd ${PACKDST} && dpkg -i e2"$OS"_package.deb
|
||||
- sed -i "s/^#sslmitm.*$/sslmitm\ =\ on/" /etc/e2guardian/e2guardianf1.conf && sed -i "s/^#enablessl.*$/enablessl\ =\ on/" /etc/e2guardian/e2guardian.conf && sed -i "s/^RANDFILE\s*=\s*\\\$ENV/#RANDFILE\ =\ \$ENV/" /etc/ssl/openssl.cnf
|
||||
- mkdir -p ${CERT_DIR}generatedcerts
|
||||
- openssl genrsa 4096 > "${CERT_DIR}ca.key" && openssl req -subj "/C=US" -new -x509 -days 3650 -key "${CERT_DIR}ca.key" -out "${CERT_DIR}ca.pem" && openssl genrsa 4096 > "${CERT_DIR}cert.key"
|
||||
- chown --recursive e2guardian:e2guardian ${CERT_DIR}
|
||||
- echo "qwant.com" >> /etc/e2guardian/lists/example.group/bannedsitelist
|
||||
- e2guardian -N &
|
||||
- sleep 5 && export https_proxy=http://localhost:8080
|
||||
- curl -k -o /tmp/test https://www.google.com
|
||||
- curl -k https://www.qwant.com | grep -i e2guardian
|
||||
- unset https_proxy
|
||||
- mkdir -p "${CI_COMMIT_BRANCH}"
|
||||
- mv e2"$OS"_package.deb ${CI_COMMIT_BRANCH}/e2"$OS"_"$VERSION"_V"$VFULL"_$(date +%Y%m%d).deb
|
||||
- md5sum ${CI_COMMIT_BRANCH}/e2"$OS"_"$VERSION"_V"$VFULL"_$(date +%Y%m%d).deb > ${CI_COMMIT_BRANCH}/e2"$OS"_"$VERSION"_V"$VFULL"_$(date +%Y%m%d)_md5.txt
|
||||
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
|
||||
- mkdir -p ~/.ssh
|
||||
- eval $(ssh-agent -s)
|
||||
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
|
||||
- ssh-add <(echo "$SSH_NOSTROMO_KEY")
|
||||
- scp -P 822 -r ${CI_COMMIT_BRANCH} e2git@e2guardian.numsys.eu:/datas/e2/html
|
||||
- find $CI_PROJECT_DIR -name ".git" -exec rm -r "{}" +
|
||||
26
gitlabci/docker-ci/Dockerfile
Normal file
26
gitlabci/docker-ci/Dockerfile
Normal file
@ -0,0 +1,26 @@
|
||||
FROM debian:buster
|
||||
|
||||
LABEL commit.e2guardian=$COMMIT build_date.e2guardian=$BUILD_DATE
|
||||
COPY . /tmp/e2guardian
|
||||
RUN cd /tmp/e2guardian \
|
||||
&& apt-get update && apt-get install --no-install-recommends --no-install-suggests -y sed libevent-pthreads-* libssl1.1 ca-certificates \
|
||||
&& adduser --no-create-home --uid 1161 --group --system e2guardian \
|
||||
&& cp src/e2guardian /usr/sbin/e2guardian \
|
||||
&& chmod +x /usr/sbin/e2guardian \
|
||||
&& cp -Rf configs /etc/e2guardian \
|
||||
&& mkdir -p /usr/share/e2guardian/languages \
|
||||
&& mkdir -p /run/e2guardian \
|
||||
&& mkdir -p /var/log/e2guardian && chown -R e2guardian /var/log/e2guardian && chown -R e2guardian /etc/e2guardian && chown -R e2guardian /run/e2guardian \
|
||||
&& cp -Rf data/languages /usr/share/e2guardian/ \
|
||||
&& cp data/*.gif /usr/share/e2guardian/ \
|
||||
&& cp data/*swf /usr/share/e2guardian/ \
|
||||
&& sed -i "s/^#dockermode.*$/dockermode\ =\ on/" /etc/e2guardian/e2guardian.conf \
|
||||
&& sed -i "s/^#pidfilename.*$/pidfilename\ =\ \/run\/e2guardian\/e2.pid/" /etc/e2guardian/e2guardian.conf \
|
||||
&& sed -i "s/^#icapport.*$/icapport\ =\ 1344/" /etc/e2guardian/e2guardian.conf \
|
||||
&& apt-get autoremove -y \
|
||||
&& rm -rf /var/lib/apt/lists/* && rm -Rf /tmp/*
|
||||
|
||||
HEALTHCHECK CMD curl localhost:8080 || exit 1
|
||||
USER e2guardian
|
||||
EXPOSE 8080
|
||||
CMD ["e2guardian", "-N"]
|
||||
41
gitlabci/docker-hub.yml
Normal file
41
gitlabci/docker-hub.yml
Normal file
@ -0,0 +1,41 @@
|
||||
docker-hub-build:
|
||||
stage: Docker-hub-build
|
||||
image: docker:dind
|
||||
before_script:
|
||||
- docker login -u "$DOCKER_HUB_USER" -p "$DOCKER_HUB_TOKEN" $DOCKER_HUB_REGISTRY
|
||||
script:
|
||||
- cd $CI_PROJECT_DIR
|
||||
- SQUID_VERSION=`curl -s http://www.squid-cache.org/Versions/v4/ | egrep -m 1 -oh squid-.*.tar.gz | cut -d '"' -f1`
|
||||
- docker build --build-arg SQUID_VERSION="$CI_COMMIT_BRANCH" --pull -t $CONTAINER_BUILD_NOPROD_NAME .
|
||||
- docker push $CONTAINER_BUILD_NOPROD_NAME
|
||||
|
||||
variables:
|
||||
CONTAINER_PROD_IMAGE: $HUB_REGISTRY_IMAGE:$CI_COMMIT_BRANCH
|
||||
CONTAINER_CLIENT_IMAGE: debian:buster
|
||||
CONTAINER_TEST_NAME: squid
|
||||
CONTAINER_BUILD_NOPROD_NAME: $HUB_REGISTRY_IMAGE:build-noprod
|
||||
|
||||
.services:
|
||||
services:
|
||||
- name: $CONTAINER_BUILD_NOPROD_NAME
|
||||
alias: squid
|
||||
image: $CONTAINER_CLIENT_IMAGE
|
||||
|
||||
docker-hub-test:
|
||||
stage: Docker-hub-test
|
||||
extends: .services
|
||||
script:
|
||||
- apt update && apt install -y curl
|
||||
- export https_proxy=http://$CONTAINER_TEST_NAME:3128 && curl -k https://www.google.fr
|
||||
variables:
|
||||
HOSTNAME: squidpipeline
|
||||
|
||||
push-docker-hub:
|
||||
stage: Docker-hub-pushtag
|
||||
image: docker:dind
|
||||
before_script:
|
||||
- docker login -u "$DOCKER_HUB_USER" -p "$DOCKER_HUB_TOKEN" $DOCKER_HUB_REGISTRY
|
||||
script:
|
||||
- docker pull $CONTAINER_BUILD_NOPROD_NAME
|
||||
- docker tag $CONTAINER_BUILD_NOPROD_NAME $CONTAINER_PROD_IMAGE
|
||||
- docker push $CONTAINER_PROD_IMAGE
|
||||
67
gitlabci/raspbianbuster.yml
Normal file
67
gitlabci/raspbianbuster.yml
Normal file
@ -0,0 +1,67 @@
|
||||
build:raspbian:
|
||||
stage: build
|
||||
image: amd64/debian:stable
|
||||
artifacts:
|
||||
expire_in: 30 minutes
|
||||
paths:
|
||||
- $CI_PROJECT_DIR
|
||||
variables:
|
||||
OS: "raspbian"
|
||||
script:
|
||||
- source $CI_PROJECT_DIR/scripts/debian_package/variables
|
||||
- echo $VFULL
|
||||
- apt update
|
||||
- apt-get -y upgrade
|
||||
- apt install --no-install-recommends --no-install-suggests -y curl unzip base-files automake base-passwd pkg-config bash coreutils debianutils diffutils dpkg e2fsprogs findutils grep gzip hostname ncurses-base tar git bsdutils lsb-release
|
||||
- echo "deb-src http://deb.debian.org/debian buster main contrib non-free" >> /etc/apt/sources.list
|
||||
- dpkg --add-architecture armhf
|
||||
- apt-get update
|
||||
- apt-get install -y build-essential crossbuild-essential-armhf
|
||||
- apt-get build-dep -y -a armhf e2guardian
|
||||
- cd $CI_PROJECT_DIR && make clean
|
||||
- ./autogen.sh
|
||||
- ./configure --host=arm-linux-gnueabihf --prefix=/usr --enable-clamd=yes --with-proxyuser=e2guardian --with-proxygroup=e2guardian --sysconfdir=/etc --localstatedir=/var --enable-icap=yes --enable-commandline=yes --enable-email=yes --enable-ntlm=yes --enable-pcre=yes --enable-sslmitm=yes
|
||||
- make ARCH=arm-linux-gnueabihf
|
||||
- file src/e2guardian | grep "ARM, EABI5"
|
||||
- find $CI_PROJECT_DIR -name ".git" -exec rm -r "{}" +
|
||||
|
||||
package:raspbian:
|
||||
stage: create-package
|
||||
image: amd64/debian:stable
|
||||
dependencies:
|
||||
- build:raspbian
|
||||
artifacts:
|
||||
paths:
|
||||
- $CI_PROJECT_DIR
|
||||
variables:
|
||||
PACKPATH: "$CI_PROJECT_DIR"
|
||||
PACKDST: "$CI_PROJECT_DIR/scripts/debian_package/e2raspbian_package"
|
||||
OS: "raspbian"
|
||||
script:
|
||||
- source $CI_PROJECT_DIR/scripts/debian_package/variables
|
||||
- apt update
|
||||
- apt install -y curl git lsb-release binutils
|
||||
- echo $VFULL
|
||||
- VERSION=`lsb_release -cs`
|
||||
- SIZE=`stat -c %s ${PACKDST}/data` && echo $SIZE && sed -i "s/Installed-Size:.*$/Installed-Size:\ $SIZE/g" ${PACKDST}/control/control
|
||||
- sed -i "s/Version:.*$/Version:\ $VFULL/g" ${PACKDST}/control/control
|
||||
- cp ${PACKPATH}/src/e2guardian ${PACKDST}/data/usr/sbin/e2guardian
|
||||
- chmod +x ${PACKDST}/data/usr/sbin/e2guardian
|
||||
- cp -Rf ${PACKPATH}/configs ${PACKDST}/data/etc/e2guardian
|
||||
- mkdir -p ${PACKPATH}/share/e2guardian/languages
|
||||
- cp -Rf ${PACKPATH}/data/languages ${PACKDST}/data/usr/share/e2guardian/
|
||||
- cp ${PACKPATH}/data/*.gif ${PACKDST}/data/usr/share/e2guardian/
|
||||
- cp ${PACKPATH}/data/*swf ${PACKDST}/data/usr/share/e2guardian/
|
||||
- cp ${PACKPATH}/data/scripts/e2guardian.service ${PACKDST}/data/lib/systemd/system
|
||||
- find ${PACKDST}/ -type f -name "Makefil*" -delete
|
||||
- find ${PACKDST}/ -type f -name "*.in" -delete
|
||||
- cd ${PACKDST} && cd .. && ./rebuild.sh e2"$OS"_package
|
||||
- mv e2"$OS"_package.deb ${CI_COMMIT_BRANCH}/e2"$OS"_"$VERSION"_V"$VFULL"_$(date +%Y%m%d).deb
|
||||
- md5sum ${CI_COMMIT_BRANCH}/e2"$OS"_"$VERSION"_V"$VFULL"_$(date +%Y%m%d).deb > ${CI_COMMIT_BRANCH}/e2"$OS"_"$VERSION"_V"$VFULL"_$(date +%Y%m%d)_md5.txt
|
||||
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
|
||||
- mkdir -p ~/.ssh
|
||||
- eval $(ssh-agent -s)
|
||||
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
|
||||
- ssh-add <(echo "$SSH_NOSTROMO_KEY")
|
||||
- scp -P 822 -r ${CI_COMMIT_BRANCH} e2git@e2guardian.numsys.eu:/datas/e2/html
|
||||
- find $CI_PROJECT_DIR -name ".git" -exec rm -r "{}" +
|
||||
94
gitlabci/ubuntubionic.yml
Normal file
94
gitlabci/ubuntubionic.yml
Normal file
@ -0,0 +1,94 @@
|
||||
build:bionic:
|
||||
stage: build
|
||||
image: amd64/ubuntu:18.04
|
||||
artifacts:
|
||||
expire_in: 30 minutes
|
||||
paths:
|
||||
- $CI_PROJECT_DIR
|
||||
script:
|
||||
- source $CI_PROJECT_DIR/scripts/debian_package/variables
|
||||
- echo $VFULL
|
||||
- apt update
|
||||
- apt-get -y upgrade
|
||||
- apt install --no-install-recommends --no-install-suggests -y curl unzip base-files automake base-passwd
|
||||
bash coreutils dash debianutils diffutils dpkg e2fsprogs findutils grep gzip hostname ncurses-base
|
||||
libevent-pthreads-* libevent-dev ncurses-bin perl-base sed login sysvinit-utils tar bsdutils
|
||||
mount util-linux libc6-dev libc-dev gcc g++ make dpkg-dev autotools-dev debhelper dh-autoreconf dpatch
|
||||
libclamav-dev libpcre3-dev zlib1g-dev pkg-config libssl-dev libssl1.1 git ca-certificates lsb-release
|
||||
- cd $CI_PROJECT_DIR && make clean && ./autogen.sh && ./configure '--prefix=/usr' '--enable-clamd=yes' '--with-proxyuser=e2guardian' '--with-proxygroup=e2guardian' '--sysconfdir=/etc' '--localstatedir=/var' '--enable-icap=yes' '--enable-commandline=yes' '--enable-email=yes' '--enable-ntlm=yes' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--enable-pcre=yes' '--enable-sslmitm=yes' 'CPPFLAGS=-mno-sse2 -g -O2'
|
||||
- make
|
||||
- find $CI_PROJECT_DIR -name ".git" -exec rm -r "{}" +
|
||||
|
||||
package:bionic:
|
||||
stage: create-package
|
||||
image: amd64/ubuntu:18.04
|
||||
dependencies:
|
||||
- build:bionic
|
||||
artifacts:
|
||||
paths:
|
||||
- $CI_PROJECT_DIR
|
||||
variables:
|
||||
PACKPATH: "$CI_PROJECT_DIR"
|
||||
PACKDST: "$CI_PROJECT_DIR/scripts/debian_package/e2ubuntu_package"
|
||||
OS: "ubuntu"
|
||||
script:
|
||||
- source $CI_PROJECT_DIR/scripts/debian_package/variables
|
||||
- echo $VFULL
|
||||
- apt update && apt install --no-install-recommends --no-install-suggests -y curl git ca-certificates util-linux binutils
|
||||
- SIZE=`stat -c %s ${PACKDST}/data` && echo $SIZE && sed -i "s/Installed-Size:.*$/Installed-Size:\ $SIZE/g" ${PACKDST}/control/control
|
||||
- cp ${PACKPATH}/src/e2guardian ${PACKDST}/data/usr/sbin/e2guardian
|
||||
- chmod +x ${PACKDST}/data/usr/sbin/e2guardian
|
||||
- cp -Rf ${PACKPATH}/configs ${PACKDST}/data/etc/e2guardian
|
||||
- mkdir -p ${PACKPATH}/share/e2guardian/languages
|
||||
- cp -Rf ${PACKPATH}/data/languages ${PACKDST}/data/usr/share/e2guardian/
|
||||
- cp ${PACKPATH}/data/*.gif ${PACKDST}/data/usr/share/e2guardian/
|
||||
- cp ${PACKPATH}/data/*swf ${PACKDST}/data/usr/share/e2guardian/
|
||||
- cp ${PACKPATH}/data/scripts/e2guardian.service ${PACKDST}/data/lib/systemd/system
|
||||
- find ${PACKDST}/ -type f -name "Makefil*" -delete
|
||||
- find ${PACKDST}/ -type f -name "*.in" -delete
|
||||
- sed -i "s/Version:.*$/Version:\ $VFULL/g" ${PACKDST}/control/control
|
||||
- cd ${PACKDST} && cd .. && ./rebuild.sh e2"$OS"_package
|
||||
- rm -rf .git
|
||||
- find $CI_PROJECT_DIR -name ".git" -exec rm -r "{}" +
|
||||
|
||||
test:bionic:
|
||||
stage: test-publish
|
||||
image: amd64/ubuntu:18.04
|
||||
dependencies:
|
||||
- package:bionic
|
||||
artifacts:
|
||||
paths:
|
||||
- $CI_PROJECT_DIR
|
||||
variables:
|
||||
PACKPATH: "$CI_PROJECT_DIR"
|
||||
PACKDST: "$CI_PROJECT_DIR/scripts/debian_package/e2ubuntu_package"
|
||||
CERT_DIR: "/etc/e2guardian/private/"
|
||||
OS: "ubuntu"
|
||||
script:
|
||||
- source $CI_PROJECT_DIR/scripts/debian_package/variables
|
||||
- echo $VFULL
|
||||
- apt update
|
||||
- apt install -y curl openssl git lsb-release libevent-pthreads* libtommath*
|
||||
- VERSION=`lsb_release -cs`
|
||||
- cd ${PACKDST} && cd .. && dpkg -i e2"$OS"_package.deb
|
||||
- sed -i "s/^#sslmitm.*$/sslmitm\ =\ on/" /etc/e2guardian/e2guardianf1.conf && sed -i "s/^#enablessl.*$/enablessl\ =\ on/" /etc/e2guardian/e2guardian.conf && sed -i "s/^RANDFILE\s*=\s*\\\$ENV/#RANDFILE\ =\ \$ENV/" /etc/ssl/openssl.cnf
|
||||
- mkdir -p ${CERT_DIR}generatedcerts
|
||||
- openssl genrsa 4096 > "${CERT_DIR}ca.key" && openssl req -subj "/C=US" -new -x509 -days 3650 -key "${CERT_DIR}ca.key" -out "${CERT_DIR}ca.pem" && openssl genrsa 4096 > "${CERT_DIR}cert.key"
|
||||
- chown --recursive e2guardian:e2guardian ${CERT_DIR}
|
||||
- echo "qwant.com" >> /etc/e2guardian/lists/example.group/bannedsitelist
|
||||
- e2guardian -N &
|
||||
- sleep 5 && export https_proxy=http://localhost:8080
|
||||
- curl -k -o /tmp/test https://www.google.com
|
||||
- curl -k https://www.qwant.com | grep -i e2guardian
|
||||
- unset https_proxy
|
||||
- mkdir -p "${CI_COMMIT_BRANCH}"
|
||||
- mv e2"$OS"_package.deb ${CI_COMMIT_BRANCH}/e2"$OS"_"$VERSION"_V"$VFULL"_$(date +%Y%m%d).deb
|
||||
- md5sum ${CI_COMMIT_BRANCH}/e2"$OS"_"$VERSION"_V"$VFULL"_$(date +%Y%m%d).deb > ${CI_COMMIT_BRANCH}/e2"$OS"_"$VERSION"_V"$VFULL"_$(date +%Y%m%d)_md5.txt
|
||||
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
|
||||
- mkdir -p ~/.ssh
|
||||
- eval $(ssh-agent -s)
|
||||
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
|
||||
- ssh-add <(echo "$SSH_NOSTROMO_KEY")
|
||||
- scp -P 822 -r ${CI_COMMIT_BRANCH} e2git@e2guardian.numsys.eu:/datas/e2/html
|
||||
- find $CI_PROJECT_DIR -name ".git" -exec rm -r "{}" +
|
||||
|
||||
94
gitlabci/ubuntufocal.yml
Normal file
94
gitlabci/ubuntufocal.yml
Normal file
@ -0,0 +1,94 @@
|
||||
build:focal:
|
||||
stage: build
|
||||
image: amd64/ubuntu:20.04
|
||||
artifacts:
|
||||
expire_in: 30 minutes
|
||||
paths:
|
||||
- $CI_PROJECT_DIR
|
||||
script:
|
||||
- source $CI_PROJECT_DIR/scripts/debian_package/variables
|
||||
- echo $VFULL
|
||||
- apt update
|
||||
- apt-get -y upgrade
|
||||
- export DEBIAN_FRONTEND="noninteractive" && apt install --no-install-recommends --no-install-suggests -y curl unzip base-files automake base-passwd
|
||||
bash coreutils dash debianutils diffutils dpkg e2fsprogs findutils grep gzip hostname ncurses-base
|
||||
libevent-pthreads-2.1-7 libevent-dev ncurses-bin perl-base sed login sysvinit-utils tar bsdutils
|
||||
mount util-linux libc6-dev libc-dev gcc g++ make dpkg-dev autotools-dev debhelper dh-autoreconf dpatch
|
||||
libclamav-dev libpcre3-dev zlib1g-dev pkg-config libssl-dev libssl1.1 git ca-certificates lsb-release
|
||||
- cd $CI_PROJECT_DIR && make clean && ./autogen.sh && ./configure '--prefix=/usr' '--enable-clamd=yes' '--with-proxyuser=e2guardian' '--with-proxygroup=e2guardian' '--sysconfdir=/etc' '--localstatedir=/var' '--enable-icap=yes' '--enable-commandline=yes' '--enable-email=yes' '--enable-ntlm=yes' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--enable-pcre=yes' '--enable-sslmitm=yes' 'CPPFLAGS=-mno-sse2 -g -O2'
|
||||
- make
|
||||
- find $CI_PROJECT_DIR -name ".git" -exec rm -r "{}" +
|
||||
|
||||
package:focal:
|
||||
stage: create-package
|
||||
image: amd64/ubuntu:20.04
|
||||
dependencies:
|
||||
- build:focal
|
||||
artifacts:
|
||||
paths:
|
||||
- $CI_PROJECT_DIR
|
||||
variables:
|
||||
PACKPATH: "$CI_PROJECT_DIR"
|
||||
PACKDST: "$CI_PROJECT_DIR/scripts/debian_package/e2ubuntu_package"
|
||||
OS: "ubuntu"
|
||||
script:
|
||||
- source $CI_PROJECT_DIR/scripts/debian_package/variables
|
||||
- echo $VFULL
|
||||
- apt update && apt install --no-install-recommends --no-install-suggests -y curl git ca-certificates util-linux binutils
|
||||
- SIZE=`stat -c %s ${PACKDST}/data` && echo $SIZE && sed -i "s/Installed-Size:.*$/Installed-Size:\ $SIZE/g" ${PACKDST}/control/control
|
||||
- sed -i "s/libevent-pthreads-2.1-6/libevent-pthreads-2.1-7/g" ${PACKDST}/control/control
|
||||
- cp ${PACKPATH}/src/e2guardian ${PACKDST}/data/usr/sbin/e2guardian
|
||||
- chmod +x ${PACKDST}/data/usr/sbin/e2guardian
|
||||
- cp -Rf ${PACKPATH}/configs ${PACKDST}/data/etc/e2guardian
|
||||
- mkdir -p ${PACKPATH}/share/e2guardian/languages
|
||||
- cp -Rf ${PACKPATH}/data/languages ${PACKDST}/data/usr/share/e2guardian/
|
||||
- cp ${PACKPATH}/data/*.gif ${PACKDST}/data/usr/share/e2guardian/
|
||||
- cp ${PACKPATH}/data/*swf ${PACKDST}/data/usr/share/e2guardian/
|
||||
- cp ${PACKPATH}/data/scripts/e2guardian.service ${PACKDST}/data/lib/systemd/system
|
||||
- find ${PACKDST}/ -type f -name "Makefil*" -delete
|
||||
- find ${PACKDST}/ -type f -name "*.in" -delete
|
||||
- sed -i "s/Version:.*$/Version:\ $VFULL/g" ${PACKDST}/control/control
|
||||
- cd ${PACKDST} && cd .. && ./rebuild.sh e2"$OS"_package
|
||||
- rm -rf .git
|
||||
- find /builds/ -name ".git" -exec rm -r "{}" +
|
||||
|
||||
test:focal:
|
||||
stage: test-publish
|
||||
image: amd64/ubuntu:20.04
|
||||
dependencies:
|
||||
- package:focal
|
||||
artifacts:
|
||||
paths:
|
||||
- $CI_PROJECT_DIR
|
||||
variables:
|
||||
PACKPATH: "$CI_PROJECT_DIR"
|
||||
PACKDST: "$CI_PROJECT_DIR/scripts/debian_package/e2ubuntu_package"
|
||||
CERT_DIR: "/etc/e2guardian/private/"
|
||||
OS: "ubuntu"
|
||||
script:
|
||||
- source $CI_PROJECT_DIR/scripts/debian_package/variables
|
||||
- echo $VFULL
|
||||
- apt update
|
||||
- apt install -y curl openssl git lsb-release libevent-pthreads-2.1-7 libtommath1
|
||||
- VERSION=`lsb_release -cs`
|
||||
- cd ${PACKDST} && cd .. && dpkg -i e2"$OS"_package.deb
|
||||
- sed -i "s/^#sslmitm.*$/sslmitm\ =\ on/" /etc/e2guardian/e2guardianf1.conf && sed -i "s/^#enablessl.*$/enablessl\ =\ on/" /etc/e2guardian/e2guardian.conf && sed -i "s/^RANDFILE\s*=\s*\\\$ENV/#RANDFILE\ =\ \$ENV/" /etc/ssl/openssl.cnf
|
||||
- mkdir -p ${CERT_DIR}generatedcerts
|
||||
- openssl genrsa 4096 > "${CERT_DIR}ca.key" && openssl req -subj "/C=US" -new -x509 -days 3650 -key "${CERT_DIR}ca.key" -out "${CERT_DIR}ca.pem" && openssl genrsa 4096 > "${CERT_DIR}cert.key"
|
||||
- chown --recursive e2guardian:e2guardian ${CERT_DIR}
|
||||
- echo "qwant.com" >> /etc/e2guardian/lists/example.group/bannedsitelist
|
||||
- e2guardian -N &
|
||||
- sleep 5 && export https_proxy=http://localhost:8080
|
||||
- curl -k -o /tmp/test https://www.google.com
|
||||
- curl -k https://www.qwant.com | grep -i e2guardian
|
||||
- unset https_proxy
|
||||
- mkdir -p "${CI_COMMIT_BRANCH}"
|
||||
- mv e2"$OS"_package.deb ${CI_COMMIT_BRANCH}/e2"$OS"_"$VERSION"_V"$VFULL"_$(date +%Y%m%d).deb
|
||||
- md5sum ${CI_COMMIT_BRANCH}/e2"$OS"_"$VERSION"_V"$VFULL"_$(date +%Y%m%d).deb > ${CI_COMMIT_BRANCH}/e2"$OS"_"$VERSION"_V"$VFULL"_$(date +%Y%m%d)_md5.txt
|
||||
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
|
||||
- mkdir -p ~/.ssh
|
||||
- eval $(ssh-agent -s)
|
||||
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
|
||||
- ssh-add <(echo "$SSH_NOSTROMO_KEY")
|
||||
- scp -P 822 -r ${CI_COMMIT_BRANCH} e2git@e2guardian.numsys.eu:/datas/e2/html
|
||||
- find $CI_PROJECT_DIR -name ".git" -exec rm -r "{}" +
|
||||
Loading…
x
Reference in New Issue
Block a user