image: node:latest
before_script:
- apt-get update
- apt-get --yes --force-yes install ssh rsync
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- my_modules/
stages:
- build
- production
job_build:
stage: build
tags:
- docker
script:
- npm install
- npm run updateDependencies
- cd ./my_modules/
- npm run build
- pwd
- ls
job_production:
stage: production
tags:
- docker
when: on_success
script:
- pwd
- ls
- cp .htpasswd ./my_modules/dist/
- cd ./my_modules/
- ls dist
- mkdir "${HOME}/.ssh"
- echo "${SSH_KNOWN_HOSTS}" > "${HOME}/.ssh/known_hosts"
- echo "${SSH_PRIVATE_KEY}" > "${HOME}/.ssh/id_rsa"
- ls -al "${HOME}/.ssh/"
- chmod 700 "${HOME}/.ssh/id_rsa"
- rsync -hrvz --delete -e "ssh -p 2222 -i ${HOME}/.ssh/id_rsa" dist/ devops@172.20.1.10:/home/devops/www/js
FROM tensorflow/tensorflow:1.12.0-gpu
MAINTAINER Farid Ahmadian <ahmadian.farid.1988@gmail.com>
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
python3-pip \
libsm6 \
libxext6 \
libxrender-dev \
&& rm -r /var/lib/apt/lists/*
RUN mkdir /app
COPY setup.py /app
RUN cd /app && \
python3 -m pip install --upgrade pip
RUN cd /app && \
python3 -m pip install .
RUN cd /app && \
python3 -m pip install .[testing]
RUN cd /app && \
python3 -m pip install .[build_tools]
# Goto temporary directory.
WORKDIR /app
stages:
- build
- test
job_build:
stage: build
tags:
- ssh
script:
# https://docs.gitlab.com/ce/user/project/container_registry.html#build-and-push-images
- ls
- nvidia-docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.pathseeker.ir
- nvidia-docker build -t registry.pathseeker.ir/python-app:latest -f .docker/Dockerfile .
- nvidia-docker push registry.pathseeker.ir/python-app:latest
job_test:
stage: test
tags:
- ssh
script:
- nvidia-docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.pathseeker.ir
- nvidia-docker pull registry.pathseeker.ir/python-app:latest
- nvidia-docker run -d --name "tensorflow-app" registry.pathseeker.ir/python-app:latest
- nvidia-docker exec tensorflow-app ./test-runner.sh
- nvidia-docker exec tensorflow-app ls -alt
after_script:
- nvidia-docker stop "tensorflow-app"
- nvidia-docker rm "tensorflow-app"
- nvidia-docker system prune -a -f
#!/usr/bin/env bash
pytest --junitxml=pytest_report.xml
pylint src --rcfile=pylint.cfg || pylint-exit $?
BY: Farid Ahmadian
TAG: nvidia, git, gitlab-CI, python, Dockerfile, docker
DATE: 2019-06-11 10:36:53
With many thanks and best wishes for dear Pejman Moghadam, someone who taught me alot in linux and life :)