updated build
This commit is contained in:
parent
3c68e3b642
commit
7599887d44
3 changed files with 45 additions and 23 deletions
|
@ -66,21 +66,23 @@ pipeline:
|
||||||
secrets:
|
secrets:
|
||||||
- goproxy_override
|
- goproxy_override
|
||||||
|
|
||||||
prep-multiarch-binaries:
|
# prep-multiarch-binaries:
|
||||||
image: *golang_image # image reuse to reduce pull times, go not required
|
# image: *golang_image # image reuse to reduce pull times, go not required
|
||||||
pull: true
|
# pull: true
|
||||||
environment:
|
# environment:
|
||||||
fallbackversion: main # the fallback version used by make
|
# defaulttagname: main # the fallback version used by make
|
||||||
commands:
|
# commands:
|
||||||
- mkdir docker/bin
|
# - mkdir docker/bin
|
||||||
- ./docker/map-binaries.sh ./dist/binaries forgejo ${CI_COMMIT_TAG##v}
|
# - ./docker/map-binaries.sh ./dist/binaries forgejo ${CI_COMMIT_TAG##v}
|
||||||
- ./docker/map-binaries.sh ./dist/contrib environment-to-ini ${CI_COMMIT_TAG##v}
|
# - ./docker/map-binaries.sh ./dist/contrib environment-to-ini ${CI_COMMIT_TAG##v}
|
||||||
when:
|
# when:
|
||||||
event: tag
|
# event: tag
|
||||||
|
|
||||||
build-docker:
|
build-docker:
|
||||||
image: *buildx_plugin_image
|
image: *buildx_plugin_image
|
||||||
pull: true
|
pull: true
|
||||||
|
environment:
|
||||||
|
defaulttagname: main
|
||||||
settings:
|
settings:
|
||||||
dockerfile: Dockerfile.ci
|
dockerfile: Dockerfile.ci
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
|
@ -88,6 +90,9 @@ pipeline:
|
||||||
from_secret: domain
|
from_secret: domain
|
||||||
tag: ${CI_COMMIT_TAG##v}
|
tag: ${CI_COMMIT_TAG##v}
|
||||||
repo: ${CI_REPO_LINK##https://}
|
repo: ${CI_REPO_LINK##https://}
|
||||||
|
build_args_from_env:
|
||||||
|
- CI_COMMIT_TAG
|
||||||
|
- DEFAULTTAGNAME
|
||||||
password:
|
password:
|
||||||
from_secret: releaseteamtoken
|
from_secret: releaseteamtoken
|
||||||
username:
|
username:
|
||||||
|
@ -116,7 +121,9 @@ pipeline:
|
||||||
- REMOTE=$(echo $CI_REPO_LINK | sed -e 's|.*://||' -e 's|/.*||')
|
- REMOTE=$(echo $CI_REPO_LINK | sed -e 's|.*://||' -e 's|/.*||')
|
||||||
- GITEA_SERVER_URL=$CI_REPO_LINK GITEA_SERVER_TOKEN=$RELEASETEAMTOKEN tea login add --name $RELEASETEAMUSER --url $REMOTE
|
- GITEA_SERVER_URL=$CI_REPO_LINK GITEA_SERVER_TOKEN=$RELEASETEAMTOKEN tea login add --name $RELEASETEAMUSER --url $REMOTE
|
||||||
- ASSETS=$(ls dist/release/* | sed -e 's/^/-a /')
|
- ASSETS=$(ls dist/release/* | sed -e 's/^/-a /')
|
||||||
- tea release create $ASSETS --tag $CI_COMMIT_TAG --title $CI_COMMIT_TAG
|
- echo "$${CI_COMMIT_TAG##v}" | grep -qi '-rc' && export RELEASETYPE="--prerelease"
|
||||||
|
- echo "$${CI_COMMIT_TAG##v}" | grep -qi '-dev' && export RELEASETYPE="--draft"
|
||||||
|
- tea release create $ASSETS --tag $CI_COMMIT_TAG --title $CI_COMMIT_TAG $${RELEASETYPE}
|
||||||
when:
|
when:
|
||||||
event: tag
|
event: tag
|
||||||
secrets:
|
secrets:
|
||||||
|
|
|
@ -12,14 +12,24 @@ RUN addgroup \
|
||||||
git && \
|
git && \
|
||||||
echo "git:*" | chpasswd -e
|
echo "git:*" | chpasswd -e
|
||||||
|
|
||||||
|
RUN apk --no-cache add xz upx bash
|
||||||
|
|
||||||
ENV USER git
|
ENV USER git
|
||||||
|
|
||||||
COPY docker/root /root-prep
|
ARG DEFAULTTAGNAME
|
||||||
COPY docker/bin /bin-prep
|
ARG CI_COMMIT_TAG
|
||||||
|
ENV DEFAULTTAGNAME=${DEFAULTTAGNAME:-main}
|
||||||
|
|
||||||
RUN chmod 755 /root-prep/usr/bin/entrypoint /root-prep/etc/s6/gitea/* /root-prep/etc/s6/openssh/* /root-prep/etc/s6/.s6-svscan/* && \
|
COPY docker /docker
|
||||||
find /bin-prep -name 'forgejo' -type f | xargs -I{} /bin/chmod 0755 {} && \
|
COPY dist /dist
|
||||||
find /bin-prep -name 'environment-to-ini' -type f | xargs -I{} /bin/chmod 0755 {}
|
|
||||||
|
RUN mkdir /docker/bin && \
|
||||||
|
/docker/map-binaries.sh /dist/binaries "true" forgejo ${CI_COMMIT_TAG##v} && \
|
||||||
|
/docker/map-binaries.sh /dist/contrib "false" environment-to-ini ${CI_COMMIT_TAG##v}
|
||||||
|
|
||||||
|
RUN chmod 755 /docker/root/usr/bin/entrypoint /docker/root/etc/s6/gitea/* /docker/root/etc/s6/openssh/* /docker/root/etc/s6/.s6-svscan/* && \
|
||||||
|
find /docker/bin -name 'forgejo' -type f | xargs -I{} /bin/chmod 0755 {} && \
|
||||||
|
find /docker/bin -name 'environment-to-ini' -type f | xargs -I{} /bin/chmod 0755 {}
|
||||||
|
|
||||||
FROM alpine:3.17.0
|
FROM alpine:3.17.0
|
||||||
LABEL maintainer="contact@forgejo.org"
|
LABEL maintainer="contact@forgejo.org"
|
||||||
|
@ -64,6 +74,6 @@ VOLUME ["/data"]
|
||||||
ENTRYPOINT ["/usr/bin/entrypoint"]
|
ENTRYPOINT ["/usr/bin/entrypoint"]
|
||||||
CMD ["/bin/s6-svscan", "/etc/s6"]
|
CMD ["/bin/s6-svscan", "/etc/s6"]
|
||||||
|
|
||||||
COPY --from=prep /root-prep /
|
COPY --from=prep /docker/root /
|
||||||
COPY --from=prep /bin-prep/$TARGETPLATFORM/forgejo /app/gitea/gitea
|
COPY --from=prep /docker/bin/$TARGETPLATFORM/forgejo /app/gitea/gitea
|
||||||
COPY --from=prep /bin-prep/$TARGETPLATFORM/environment-to-ini /usr/local/bin/environment-to-ini
|
COPY --from=prep /docker/bin/$TARGETPLATFORM/environment-to-ini /usr/local/bin/environment-to-ini
|
||||||
|
|
|
@ -7,11 +7,12 @@ fi
|
||||||
|
|
||||||
BINARYLOOKUPPATH="${1}"
|
BINARYLOOKUPPATH="${1}"
|
||||||
FILEBASENAME="${2}"
|
FILEBASENAME="${2}"
|
||||||
|
COMPRESS="${3}"
|
||||||
|
|
||||||
if [[ ${#@} -gt 2 ]] && ! [[ "${3}" == "" ]]; then
|
if [[ ${#@} -gt 3 ]] && ! [[ "${4}" == "" ]]; then
|
||||||
FILEVERSION="${3}"
|
FILEVERSION="${4}"
|
||||||
else
|
else
|
||||||
FILEVERSION="$FALLBACKVERSION"
|
FILEVERSION="$DEFAULTTAGNAME"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FILE_WIHTOUT_PLATFORM="${FILEBASENAME}-${FILEVERSION}"
|
FILE_WIHTOUT_PLATFORM="${FILEBASENAME}-${FILEVERSION}"
|
||||||
|
@ -36,6 +37,10 @@ function map(){
|
||||||
mkdir -p "${DOCKERDIR}/bin/$platform"
|
mkdir -p "${DOCKERDIR}/bin/$platform"
|
||||||
echo "Mapped ${file} to $platform, copying"
|
echo "Mapped ${file} to $platform, copying"
|
||||||
cp "${file}" "${DOCKERDIR}/bin/$platform/${FILEBASENAME}"
|
cp "${file}" "${DOCKERDIR}/bin/$platform/${FILEBASENAME}"
|
||||||
|
if [[ "$COMPRESS" == "true" ]]; then
|
||||||
|
echo "Compressing active, compressing ${DOCKERDIR}/bin/$platform/${FILEBASENAME}"
|
||||||
|
upx --best --lzma -q "${DOCKERDIR}/bin/$platform/${FILEBASENAME}"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
cd "$WS_BASE/${BINARYLOOKUPPATH}"
|
cd "$WS_BASE/${BINARYLOOKUPPATH}"
|
||||||
|
|
Loading…
Add table
Reference in a new issue