set up gitlab ci. first try
This commit is contained in:
parent
2b38738aa8
commit
b8678b1f6c
7 changed files with 89 additions and 6 deletions
|
@ -1,7 +1,7 @@
|
|||
cd .travis
|
||||
cd .ci
|
||||
export COMMIT_MSG=$(python3 print_deploy_message.py)
|
||||
cd ..
|
||||
make travis
|
||||
make ci-build
|
||||
cd build
|
||||
zip -r LatexPackages.zip LatexPackagesBuild
|
||||
tree -H '.' -I "index.html" -D --charset utf-8 -T "LatexPackages" > index.html
|
|
@ -1,13 +1,14 @@
|
|||
# ! /bin/sh
|
||||
git clone https://github.com/kesslermaximilian/LatexPackagesBuild.git build/LatexPackagesBuild
|
||||
ssh git@gitlab.com
|
||||
git clone git@gitlab.com:latexci/packages/LatexPackagesBuild.git build/LatexPackagesBuild
|
||||
cd build/LatexPackagesBuild
|
||||
REMOTE_BRANCH=$(git branch -a | sed -n '/remotes\/origin\/.*-build/p' | sed 's/remotes\/origin\///g' | sed 's/-build//g' | sed 's/[[:space:]]//g' | sed -n "/^${TRAVIS_BRANCH}$/p")
|
||||
REMOTE_BRANCH=$(git branch -a | sed -n '/remotes\/origin\/.*-build/p' | sed 's/remotes\/origin\///g' | sed 's/-build//g' | sed 's/[[:space:]]//g' | sed -n "/^${CI_COMMIT_REF_NAME}$/p")
|
||||
|
||||
echo ${REMOTE_BRANCH}
|
||||
|
||||
if [ "$REMOTE_BRANCH" = "" ];then
|
||||
echo "This is the first build on this branch, creating new branch in build repository to push to"
|
||||
git checkout --orphan ${TRAVIS_BRANCH}-build
|
||||
git checkout --orphan ${CI_COMMIT_REF_NAME}-build
|
||||
ls -ra | sed '/^\.git$/d' | sed '/^\.\.$/d' | sed '/^\.$/d' | xargs -r git rm --cached
|
||||
ls -ra | sed '/^\.git$/d' | sed '/^\.\.$/d' | sed '/^\.$/d' | xargs -r rm -rf
|
||||
else
|
82
.gitlab-ci.yml
Normal file
82
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,82 @@
|
|||
stages: # List of stages for jobs, and their order of execution
|
||||
- get
|
||||
- build
|
||||
- deploy
|
||||
|
||||
get-build-repo: # This job runs in the build stage, which runs first.
|
||||
stage: get
|
||||
before_script:
|
||||
- apt-get update -y && apt-get install -yqqf openssh-client git unzip sshpass rsync --fix-missing
|
||||
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )'
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$GITLAB_DEPLOY_KEY" | base64 -d | tr -d '\r' | ssh-add - > /dev/null
|
||||
|
||||
- mkdir -p ~/.ssh
|
||||
- chmod 700 ~/.ssh
|
||||
|
||||
- ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
|
||||
- chmod 644 ~/.ssh/known_hosts
|
||||
|
||||
- git config --global user.email "git@maximilian-kessler.de"
|
||||
- git config --global user.name "Maximilian Keßler (via gitlab runner)"
|
||||
script:
|
||||
- "Getting old Build repo..."
|
||||
- .ci/get_build_repo_from_origin.sh
|
||||
tags:
|
||||
- latex
|
||||
artifacts:
|
||||
paths:
|
||||
- build/
|
||||
|
||||
build-packages: # This job runs in the deploy stage.
|
||||
stage: build # It only runs when *both* jobs in the test stage complete successfully.
|
||||
before_script:
|
||||
- apt-get update -y && apt-get install -yqqf openssh-client git unzip sshpass rsync --fix-missing
|
||||
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )'
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$GITLAB_DEPLOY_KEY" | base64 -d | tr -d '\r' | ssh-add - > /dev/null
|
||||
|
||||
- mkdir -p ~/.ssh
|
||||
- chmod 700 ~/.ssh
|
||||
|
||||
- ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
|
||||
- chmod 644 ~/.ssh/known_hosts
|
||||
|
||||
- git config --global user.email "git@maximilian-kessler.de"
|
||||
- git config --global user.name "Maximilian Keßler (via gitlab runner)"
|
||||
script:
|
||||
- echo "Building packages incrementally..."
|
||||
- .ci/ci_build.sh
|
||||
- cd build/LatexPackagesBuild
|
||||
- git add .
|
||||
- git commit -m "${COMMIT_MESSAGE}"
|
||||
artifacts:
|
||||
paths:
|
||||
- build/
|
||||
tags:
|
||||
- latex
|
||||
|
||||
pages:
|
||||
stage: deploy
|
||||
artifacts:
|
||||
paths:
|
||||
- public
|
||||
before_script:
|
||||
- apt-get update -y && apt-get install -yqqf openssh-client git unzip sshpass rsync --fix-missing
|
||||
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )'
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$GITLAB_DEPLOY_KEY" | base64 -d | tr -d '\r' | ssh-add - > /dev/null
|
||||
|
||||
- mkdir -p ~/.ssh
|
||||
- chmod 700 ~/.ssh
|
||||
|
||||
- ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
|
||||
- chmod 644 ~/.ssh/known_hosts
|
||||
|
||||
- git config --global user.email "git@maximilian-kessler.de"
|
||||
- git config --global user.name "Maximilian Keßler (via gitlab runner)"
|
||||
script:
|
||||
- cd build/LatexPackagesBuild
|
||||
- git push origin
|
||||
tags:
|
||||
- latex
|
2
Makefile
2
Makefile
|
@ -28,5 +28,5 @@ config: .gitconfiglock
|
|||
clean:
|
||||
@-rm -r build/
|
||||
|
||||
travis:
|
||||
ci-build:
|
||||
@python3 build.py --source-dir src --build-dir build/LatexPackagesBuild ${BUILD_FLAGS}
|
||||
|
|
Loading…
Add table
Reference in a new issue