diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..6306fd571e411f7aa6040e0d5e411b0772b667cb --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,50 @@ +image: docker:latest +services: +- docker:dind + +stages: +- build +- manifest + +variables: + DOCKER_CONFIG: ~/.docker/$CI_JOB_ID + IMAGE_amd64: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_REF_NAME + IMAGE_ppc64le: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_REF_NAME + MANIFEST: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME + +before_script: + - "[ -d $DOCKER_CONFIG ] || mkdir -p $DOCKER_CONFIG" + - "echo '{ \"experimental\": \"enabled\" }' > $DOCKER_CONFIG/config.json" + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY + - docker login $REGISTRY_TECH_URL --username $REGISTRY_TECH_USER --password $REGISTRY_TECH_PASS + + +after_script: + - "rm -vRf $DOCKER_CONFIG" + +ppc64le: + stage: build + tags: + - ppc64le + script: + - docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg GITLAB_LOGIN=gitlab-ci-token --build-arg GITLAB_PASSWORD=$CI_JOB_TOKEN --pull -t $IMAGE_ppc64le -f Dockerfile . + - docker push $IMAGE_ppc64le + +amd64: + variables: + stage: build + tags: + - amd64 + script: + - docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg GITLAB_LOGIN=gitlab-ci-token --build-arg GITLAB_PASSWORD=$CI_JOB_TOKEN --pull -t $IMAGE_amd64 -f Dockerfile . + - docker push $IMAGE_amd64 + +manifest: + stage: manifest + tags: + - amd64 + script: + - docker manifest create $MANIFEST $IMAGE_amd64 $IMAGE_ppc64le + - docker manifest annotate $MANIFEST $IMAGE_amd64 --os linux --arch amd64 + - docker manifest annotate $MANIFEST $IMAGE_ppc64le --os linux --arch ppc64le + - docker manifest push $MANIFEST diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..73cbc720e69e6f65384f131e21ff740bd91e8aa7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM debian + +RUN apt-get update && apt-get install -y apache2 libapache2-mod-php7.3 php7.3-mysql php-gd php-imap php-xml php-mbstring php-intl php-apcu + +ADD . /var/www/html/. + +COPY apache2-foreground /usr/local/bin/ +WORKDIR /var/www/html + +EXPOSE 80 +CMD ["apache2-foreground"] + +VOLUME /var/log/apache2 +VOLUME /var/lib/php/sessions +VOLUME /var/run + +RUN rm -Rf setup