diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aa7fe98de3ea87774b04d0a8bd52bc60b28c21c3..2f8d966fec5a63fc5f7d281e9d5fcedd11484863 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ default: - image: docker:26.0.1 + image: docker:latest services: - - docker:26.0.1-dind + - docker:dind before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY interruptible: true @@ -10,21 +10,23 @@ stages: - pre-build - build -febio-dl: - image: amazon/aws-cli +get-credentials: stage: pre-build - variables: - CI_DEBUG_TRACE: "true" script: - - 'aws --verbose s3 presign s3://$LTS_BUCKET/$LTS_FILE_KEY --endpoint-url $LTS_ENDPOINT --expires-in 600 --output text' - artifacts: - paths: - - "installer/" + - echo "Copying secure file with FeBio login ..." + - cp $CI_SECURE_FILE_PATH/febio_login.txt ./febio_login.txt + - export USERNAME=$(grep 'username:' secure_file.txt | cut -d ':' -f2 | tr -d ' ') + - export PASSWORD=$(grep 'password:' secure_file.txt | cut -d ':' -f2 | tr -d ' ') + + - echo "Extracted username: $USERNAME" + - echo "Extracted password: $PASSWORD" docker-build: stage: build + dependencies: + - extract-credentials script: - docker pull $CI_REGISTRY_IMAGE:latest || true - - docker build --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE:latest . + - docker build --build-arg BUILDKIT_INLINE_CACHE=1 --build-arg USERNAME=${USERNAME} --build-arg PASSWORD=${PASSWORD}--cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE:latest . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA - docker push $CI_REGISTRY_IMAGE:latest diff --git a/Dockerfile b/Dockerfile index 0e34d0638f99b9bf48c6fb4b69c23669e7eb7dad..6df2dd26414a370ef89ed0c88324e38d37f93514 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,14 @@ FROM ubuntu:jammy ENV DEBIAN_FRONTEND=noninteractive +ARG USERNAME +ARG PASSWORD RUN apt-get update && \ apt-get install -y \ zip \ - wget \ + curl \ + jq \ unzip \ libglu1-mesa \ libqt5widgets5 \ @@ -23,9 +26,15 @@ RUN apt-get update && \ x11-apps \ xorg \ openbox \ - libgomp1 + libgomp1 \ + && rm -rf /var/lib/apt/lists + +RUN ENCODED_USERNAME=$(printf '%s' "$USERNAME" | jq -sRr @uri) && \ + ENCODED_PASSWORD=$(printf '%s' "$PASSWORD" | jq -sRr @uri) && \ + curl -c cookies.txt -X POST -d "log=${ENCODED_USERNAME}&pwd=${ENCODED_PASSWORD}&wp-submit=1" "https://febio.org/wp-login.php" -v && \ + curl --output /tmp/febio.zip -b cookies.txt "https://febio.org/download/12171/?tmstv=1729879260" && \ + unset USERNAME PASSWORD ENCODED_USERNAME ENCODED_PASSWORD -COPY ./installer/febio_installer.zip /tmp/febio_installer.zip RUN unzip /tmp/febio_installer.zip RUN chmod +x FEBioStudio_linux-x64_2.7_FEBio_4.7.run