1. 程式人生 > >基礎架構四-APP1:使用程式碼倉庫、應用倉庫、yum本地源完成CICD

基礎架構四-APP1:使用程式碼倉庫、應用倉庫、yum本地源完成CICD

 

前言:

經前面三篇,我們搭建了基於docker和centos7的基礎應用架構:程式碼倉庫、應用倉庫、yum本地源,本篇用一個python flask-uwsgi-nginx環境開發的學籍查詢系統,來演示使用gitlab、registry、yum本地源完成持續整合與釋出的過程

 

查詢:

文中提到的程式和指令碼見:https://github.com/Thomas-YangHT/python/tree/master/python_gitlab_example/

 

step1 應用環境dockerfile.python

 

  • 首先,需要一個docker的應用環境:

    • dockerfile:

      • https://raw.githubusercontent.com/Thomas-YangHT/python/master/python_gitlab_example/dockerfile.python

    • nginx配置:

      • https://raw.githubusercontent.com/Thomas-YangHT/python/master/python_gitlab_example/conf.d/uwsgi.cf

      • https://raw.githubusercontent.com/Thomas-YangHT/python/master/python_gitlab_example/conf.d/upstream.conf

    • uwsgi配置:

      • https://raw.githubusercontent.com/Thomas-YangHT/python/master/python_gitlab_example/testflk.ini

    • 一段示例python程式:(下載後改名為testflk.py)

      • https://raw.githubusercontent.com/Thomas-YangHT/python/master/python_gitlab_example/testflk.py.hello

  • 其次,build一下看一看:

    • build指令碼:

      • https://raw.githubusercontent.com/Thomas-YangHT/python/master/python_gitlab_example/docker-build.sh

    • docker_run指令碼:

      • https://raw.githubusercontent.com/Thomas-YangHT/python/master/python_gitlab_example/docker-run.sh

      • https://raw.githubusercontent.com/Thomas-YangHT/python/master/python_gitlab_example/startpython.sh

  • 第三,tag&push到應用倉庫:

    • docker tag  python 192.168.100.222:5000/python

    • docker push 192.168.100.222:5000/python

        

step2 編寫python程式

 

  • 一段python-flask-uwsgi程式,完成學生成績和基本資訊的查詢:

    • https://raw.githubusercontent.com/Thomas-YangHT/python/master/python_gitlab_example/testflk.py

  • 需要匯入mysql資料庫,並修改python程式testflk.py中mysql相關的設定:

    • https://raw.githubusercontent.com/Thomas-YangHT/python/master/python_gitlab_example/students_database.sql

  • 重新build&run一下看看:

 

step3 將寫好的.gitlab-ci.yml加到專案根目錄

  • .gitlab-ci.yml:

    • https://raw.githubusercontent.com/Thomas-YangHT/python/master/python_gitlab_example/.gitlab-ci.yml

  • git 提交:

    • https://raw.githubusercontent.com/Thomas-YangHT/python/master/python_gitlab_example/git_commit.sh

  • 看看能否自動構建和步署:

 

 END

 

 

 

Linux命令速查: 輸入命令如 lsof,  返回參考連結

help ---更多分類索引