20201027 資料卷與網路 (二)

課堂資料

Install GitLab Runner manually on GNU/Linux:

課堂練習

鳶尾花

cd
ls
cd iris
ls
gedit Dockerfile &
FROM nitincypher/docker-ubuntu-python-pip

COPY ./requirements.txt /app/requirements.txt

WORKDIR /app

RUN pip install -r requirements.txt

COPY server.py /app

COPY train_model.py /app

CMD python /app/train_model.py && python /app/server.py
gedit requirements.txt
flask
sklearn
docker build -t iris:1.0 .
docker run -itd --name iris iris:1.0
cat server.py
docker run -itd --name iris2 -p 5000:5000 iris:1.0
ls
cat client.py
python client.py
docker build -t iris:1.0 .
docker run -itd -p 5000:5000 iris:1.0

GitLab SSH Keys 生成

cd
ssh-keygen
cd .ssh/
cat id_rsa.pub
  • .pub:公鑰 ( Public )

ssh

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJ8ayNlaDXv2LZS6c2NBPjwPNtY4VO31nQMtmMDSDHMMX+eYL+2q5uFkknE8yFEi+DwgxHHv6nzNGGaDGFDBctIDa34mmDUxgTLL+E4HKOU+0IsVYi5B1QOwxGTzlp/gotP0WQCk6BhBXiPgVketAwpv/H9V2aOFUMXTFgKVhwqzI66otK7hsaMfv7WSc9VNJD/cY9dyVf5koCeWlp/yJ3ZBFQwhxTGFJ6y4mmZ6O5Se5+6XQILkEDuCn+MtSyVHVQOioLUCxKOuPuxEim7EFUo/T2pHQdfDEwCPaW5Qwqi9ZxlSohldRwjiAjg8SiIvbdwSkdEsSdvqYh/p6Varsj
cd

GitLab

Git global setup

git config --global user.name "Anida-Huang"
git config --global user.email "xiaoji850312@gmail.com"
cd iris

Push an existing folder

git init
git remote add origin git@gitlab.com:Anida-Huang/cloud-communication-iris.git
git add .
git commit -m "Initial commit"
git push -u origin master

Install

Simply download one of the binaries for your system:

sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

Give it permissions to execute:

chmod +x /usr/local/bin/gitlab-runner

Create a GitLab CI user:

useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

Install and run as service:

/usr/local/bin/gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
/usr/local/bin/gitlab-runner start

Running as unprivileged user

usermod -aG docker gitlab-runner
su - gitlab-runner
exit

CI/CD

cd
gitlab-runner register
https://gitlab.com/
[token]
vm1
vm1
shell
cd iris
gedit gitlab-ci.yml
stages:
  - deploy

docker-deploy:
  stage: deploy
  script: 
    - docker build -t iris .
    - if [ $(docker ps -aq --filter name=iris) ]; then docker rm -f iris; fi
    - docker run -d -p 5000:5000 --name iris iris
  tags:
    - vm2
git add gitlab-ci.yml
git commit -m "submit .gitlab-ci.yml"
git push -u origin master

Last updated

Was this helpful?