Merge pull request 'ci: create initial gitlab-ci jobs' (#1) from dvn/libpEpAdapter:ci into master
"CI build pipeline for libpEpAdapter" \o/ (Merged via gitea)pull/2/head
commit
db6f01c320
@ -0,0 +1,34 @@
|
||||
.ensure_docker: &ensure_docker
|
||||
# Check for docker and install if missing
|
||||
- 'which docker || ( sudo apt-get update -y && sudo apt-get install docker.io -y )'
|
||||
|
||||
.ensure_rsync: &ensure_rsync
|
||||
# Install rsync and deps if missing
|
||||
- 'which ssh-agent || ( sudo apt-get update -y && sudo apt-get install openssh-client -y )'
|
||||
- 'which rsync || ( sudo apt-get update -y && sudo apt-get install rsync -y )'
|
||||
- 'which make || ( sudo apt-get update -y && sudo apt-get install make -y )'
|
||||
|
||||
.enable_insecure_docker_registries: &enable_insecure_docker_registries
|
||||
# Enable "insecure" docker registries
|
||||
- |
|
||||
cat <<EOD > /tmp/docker-daemon.json
|
||||
{
|
||||
"insecure-registries" : ["${DOCKER_REGISTRY_HOST}"]
|
||||
}
|
||||
EOD
|
||||
- sudo cp /tmp/docker-daemon.json /etc/docker/daemon.json
|
||||
- sudo systemctl restart docker.service
|
||||
|
||||
.standard_job:
|
||||
tags: [kvm]
|
||||
before_script:
|
||||
- *ensure_docker
|
||||
- *ensure_rsync
|
||||
- *enable_insecure_docker_registries
|
||||
|
||||
.make_in_docker:
|
||||
extends: .standard_job
|
||||
script:
|
||||
- docker login -u ${DOCKER_REGISTRY_USER} -p ${DOCKER_REGISTRY_PASS} ${DOCKER_REGISTRY_HOST}
|
||||
- cd scripts/${CI_DISTRO_TARGET}
|
||||
- make
|
@ -0,0 +1,25 @@
|
||||
include:
|
||||
- '.gitlab-ci-files/common-prepare.yml'
|
||||
|
||||
stages:
|
||||
- build
|
||||
|
||||
|
||||
# CentOS/RHEL
|
||||
|
||||
centos8:build:
|
||||
extends: .make_in_docker
|
||||
stage: build
|
||||
variables:
|
||||
CI_MAKE_TARGET: libpepadapter
|
||||
CI_DISTRO_TARGET: centos8
|
||||
|
||||
# Debian
|
||||
|
||||
debian10:build:
|
||||
extends: .make_in_docker
|
||||
stage: build
|
||||
variables:
|
||||
CI_MAKE_TARGET: libpepadapter
|
||||
CI_DISTRO_TARGET: debian10
|
||||
DEBIAN_FRONTEND: noninteractive
|
@ -0,0 +1,15 @@
|
||||
CURRENT_DISTRO=$(shell basename $(shell pwd))
|
||||
LIBPEPADAPTER_VERSION=$(shell git rev-parse --short=8 HEAD)
|
||||
IMAGE_NAME=${DOCKER_REGISTRY_HOST}/pep-$(CURRENT_DISTRO)-libpepadapter
|
||||
DOCKERFILE=libpEpAdapter.$(CURRENT_DISTRO).Dockerfile
|
||||
all:
|
||||
-docker pull $(IMAGE_NAME):latest
|
||||
cd ../../ && docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \
|
||||
--build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \
|
||||
--build-arg LIBPEPADAPTER_VERSION=$(LIBPEPADAPTER_VERSION) \
|
||||
--cache-from $(IMAGE_NAME):latest \
|
||||
--tag=$(IMAGE_NAME):$(LIBPEPADAPTER_VERSION) \
|
||||
--tag=$(IMAGE_NAME):latest \
|
||||
-f scripts/${CURRENT_DISTRO}/$(DOCKERFILE) .
|
||||
docker push $(IMAGE_NAME):${LIBPEPADAPTER_VERSION}
|
||||
docker push $(IMAGE_NAME):latest
|
@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env sh
|
||||
set -exo
|
||||
|
||||
echo "ENGINE_LIB_PATH=${INSTPREFIX}/lib" >> local.conf
|
||||
echo "ENGINE_INC_PATH=${INSTPREFIX}/include" >> local.conf
|
||||
|
||||
make
|
||||
make install PREFIX="${INSTPREFIX}"
|
@ -0,0 +1,23 @@
|
||||
ARG DOCKER_REGISTRY_HOST
|
||||
ARG CURRENT_DISTRO
|
||||
ARG PEPENGINE_VERSION=latest
|
||||
FROM ${DOCKER_REGISTRY_HOST}/pep-${CURRENT_DISTRO}-engine:${PEPENGINE_VERSION}
|
||||
|
||||
ENV BUILDROOT /build
|
||||
ENV INSTPREFIX /install
|
||||
ENV OUTDIR /out
|
||||
|
||||
### Setup working directory
|
||||
RUN mkdir ${BUILDROOT}/libpEpAdapter
|
||||
COPY . ${BUILDROOT}/libpEpAdapter
|
||||
USER root
|
||||
RUN chown -R pep-builder:pep-builder ${BUILDROOT}/libpEpAdapter
|
||||
USER pep-builder
|
||||
WORKDIR ${BUILDROOT}/libpEpAdapter
|
||||
|
||||
ARG LIBPEPADAPTER_VERSION
|
||||
ARG CURRENT_DISTRO
|
||||
|
||||
### Build libpEpAdapter
|
||||
RUN sh ./scripts/${CURRENT_DISTRO}/build_libpEpAdapter.sh && \
|
||||
rm -rf ${BUILDROOT}/*
|
@ -0,0 +1,15 @@
|
||||
CURRENT_DISTRO=$(shell basename $(shell pwd))
|
||||
LIBPEPADAPTER_VERSION=$(shell git rev-parse --short=8 HEAD)
|
||||
IMAGE_NAME=${DOCKER_REGISTRY_HOST}/pep-$(CURRENT_DISTRO)-libpepadapter
|
||||
DOCKERFILE=libpEpAdapter.$(CURRENT_DISTRO).Dockerfile
|
||||
all:
|
||||
-docker pull $(IMAGE_NAME):latest
|
||||
cd ../../ && docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \
|
||||
--build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \
|
||||
--build-arg LIBPEPADAPTER_VERSION=$(LIBPEPADAPTER_VERSION) \
|
||||
--cache-from $(IMAGE_NAME):latest \
|
||||
--tag=$(IMAGE_NAME):$(LIBPEPADAPTER_VERSION) \
|
||||
--tag=$(IMAGE_NAME):latest \
|
||||
-f scripts/${CURRENT_DISTRO}/$(DOCKERFILE) .
|
||||
docker push $(IMAGE_NAME):${LIBPEPADAPTER_VERSION}
|
||||
docker push $(IMAGE_NAME):latest
|
@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env sh
|
||||
set -exo
|
||||
|
||||
echo "ENGINE_LIB_PATH=${INSTPREFIX}/lib" >> local.conf
|
||||
echo "ENGINE_INC_PATH=${INSTPREFIX}/include" >> local.conf
|
||||
|
||||
make
|
||||
make install PREFIX="${INSTPREFIX}"
|
@ -0,0 +1,23 @@
|
||||
ARG DOCKER_REGISTRY_HOST
|
||||
ARG CURRENT_DISTRO
|
||||
ARG PEPENGINE_VERSION=latest
|
||||
FROM ${DOCKER_REGISTRY_HOST}/pep-${CURRENT_DISTRO}-engine:${PEPENGINE_VERSION}
|
||||
|
||||
ENV BUILDROOT /build
|
||||
ENV INSTPREFIX /install
|
||||
ENV OUTDIR /out
|
||||
|
||||
### Setup working directory
|
||||
RUN mkdir ${BUILDROOT}/libpEpAdapter
|
||||
COPY . ${BUILDROOT}/libpEpAdapter
|
||||
USER root
|
||||
RUN chown -R pep-builder:pep-builder ${BUILDROOT}/libpEpAdapter
|
||||
USER pep-builder
|
||||
WORKDIR ${BUILDROOT}/libpEpAdapter
|
||||
|
||||
ARG LIBPEPADAPTER_VERSION
|
||||
ARG CURRENT_DISTRO
|
||||
|
||||
### Build libpEpAdapter
|
||||
RUN sh ./scripts/${CURRENT_DISTRO}/build_libpEpAdapter.sh && \
|
||||
rm -rf ${BUILDROOT}/*
|
Loading…
Reference in new issue