摘要:查看初始密碼,這里我們的容器是首次進入,需要先安裝插件,這里我們選擇手工的去選擇一些插件就行了,因為我們如果只是集成的話用不了多少插件插件選擇我就不截圖說明了,和里面得插件可以先取消。
項目結構說明在docker項目中單機構建jenkins使用gitlab的webhook對項目進行持續部署注意本次項目是php項目沒有build和test部分,至于test部分我們下一節進行,本次只是進行一個提交部署的功能,本屆不會講到使用docker進行交付的方式
其中data/jenkins 是存放狀態jenkins的目錄
CI-server.yml是jenkisn啟動結構
version: "3.0" services: jenkins: image: jenkins:latest environment: DOCKER_URL: "" volumes: - "/etc/localtime:/etc/localtime:ro" #備份數據 - "./data/jenkins:/var/jenkins_home" - "./dockerfiles/jenkins/.ssh:/var/jenkins_home/.ssh" ports: - "8999:8080" # - "50000:50000"docker-compose 編排的項目結構
docker-production.yml和docker-compose.yml的差異只是關閉了安全端口,使用了一些線上的配置文件而已
version: "3.2" services: nginx: image: nginx:1.13.3 ports: - "80:80" links: - "php-fpm:php-fpm" volumes: #網站目錄 - ./app:/var/www/html - ./dockerfiles/nginx/conf.d:/etc/nginx/conf.d:ro #日志文件 - ./logs/nginx:/var/log/nginx - /etc/localtime:/etc/localtime:ro restart: always command: nginx -g "daemon off;" ##mysql db mysql-db: image: mysql:5.7 volumes: - ./data/mysql:/var/lib/mysql:rw - ./logs/mysql:/var/lib/mysql-logs:rw - ./dockerfiles/mysql/conf.d:/etc/mysql/conf.d:ro - /etc/localtime:/etc/localtime:ro restart: always environment: MYSQL_ROOT_PASSWORD: zhaojun MYSQL_DATABASE: package_v1 MYSQL_USER: zhaojun MYSQL_PASSWORD: zhaojun redis-db: build: ./dockerfiles/redis restart: always volumes: - ./data/redis:/data - /etc/localtime:/etc/localtime:ro php-fpm: build: ./dockerfiles/php/ restart: always environment: TP_APP_DEBUG: 0 APP_DEBUG: 1 APP_DOCKER_DEV: 0 MYSQL_HOST: mysql-db MYSQL_DATABASE: zushouyou_v1 MYSQL_USER: root MYSQL_PASSWORD: zhaojun MYSQL_PORT: 3306 volumes: #網站目錄 - ./app:/var/www/html:rw #配置文件 - ./dockerfiles/php/php.ini:/usr/local/etc/php/php.ini:ro - ./dockerfiles/php/php-fpm.conf:/usr/local/etc/php-fpm.conf:ro - /etc/localtime:/etc/localtime:ro #掛載站點日志 - ./logs/php-fpm:/var/log/php-fpm:rw depends_on: - mysql-db - redis-db links: - mysql-db:mysql-db - redis-db:redis-db command: php-fpm ##job takser: image: node:6.9 environment: MYSQL_HOST: mysql-db SERVER_HOST: server volumes: - ./app/node-task:/task - /etc/localtime:/etc/localtime:ro links: - mysql-db:mysql-db - redis-db:redis-db - nginx:server working_dir: /task command: /bin/bash -c "npm install && node ./index.js" ##composer構建工具 composer: image: composer:1.4.2 volumes: #網站目錄 - ./app:/app:rw working_dir: /app/webroot command: composer install ##前端工具 bower: image: digitallyseamless/nodejs-bower-grunt volumes: - ./app:/app:rw working_dir: /app/webroot command: bower installStep1,單機服務器部署jenkins和docker編排的項目
這里我們把服務器命令為:zushouyou
服務器預先需要進行
1.優化
2.安裝 git docker
3.clone 項目下來
git clone project..Step2,克隆完成項目以后啟動jenkins
docker-compose -f CI-server.yml up -d
如果發現jenkins容器掛了,查看日志,添加權限,重啟容器就行了
Step3,配置Jenkins在CI-server.yml中我們映射了 8999->8080端口,所以我們只要訪問這個端口就可以訪問到jenkins了,如果服務拒絕,請檢查服務器商安全組,iptables規則,firewalld等防火墻。
然后我們就能訪問歡迎界面了。
查看初始密碼,這里我們的容器id是 f8
docker exec -it f8 bash -c "cat /var/jenkins_home/secrets/initialAdminPassword" 60e74c836b25402581cb0daae95b65a4
首次進入,需要先安裝插件,這里我們選擇手工的去選擇一些插件就行了,因為我們如果只是集成的話用不了多少插件
插件選擇我就不截圖說明了,build tools 和pipline里面得插件可以先取消。
比需要的插件如下
在安裝完成之后配置用戶名和賬號,最后還需要安裝一些第三方的插件
系統管理>管理插件
1.ssh,這個插件便于到遠程ssh主機上執行命令
2.webhook,這里我們是gitlab其他同理
在安裝完成以后,最好還是重啟一下,避免出現問題
先讓宿主機能通過ssh進行pull
1.生成rsa
2.添加到git網站公鑰
3.如果能直接pull,說明OK了
4.配置jenkins的server
配置SSH主機
5.完事后回到主頁開始job吧
1.
2.
3.
4.執行構建
最后就只配置一下通知了,
gitlab的webhook配置一下
$RUL/generic-webhook-trigger/invoke?token=fuck
這樣就完成了一次自動化部署的過程。請記住,這篇文章只是讓我們了解了一些簡單的原理,其中包含build,test最后才是ci,如果我們前面的工作不去實現做,這樣并沒有什么意義,只是做了一個自動化的腳本。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25689.html
摘要:來這里看看的工程師如何進行持續集成與持續部署。主要介紹了豆瓣移動持續集成和測試相關實踐,用工具化自動化社會化測試來解決遇到的問題,將打包發布環節自動化。這期的持續集成實踐分享就到這里。 我們常看到許多團隊和開發者分享他們的持續集成實踐經驗,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等項目搭建持續集成的實踐,以及一些國內外公司的內部持續集成...
摘要:三部署架構說明這個方案僅適用于小公司敏捷項目團隊聯調測試環境的部署,同時也可以作為學習入門的,并不適用于有一定規模的生產環境。另外,建議把測試域名泛解析到部署這臺服務的機器。模塊配置部署腳本業務模塊的配置基本是通過部署腳本來操作的。 項目地址: https://github.com/xiongwilee...基本特性: 快捷部署多人nginx+php的開發測試環境,也可以擴展構建其...
摘要:三部署架構說明這個方案僅適用于小公司敏捷項目團隊聯調測試環境的部署,同時也可以作為學習入門的,并不適用于有一定規模的生產環境。另外,建議把測試域名泛解析到部署這臺服務的機器。模塊配置部署腳本業務模塊的配置基本是通過部署腳本來操作的。 項目地址: https://github.com/xiongwilee...基本特性: 快捷部署多人nginx+php的開發測試環境,也可以擴展構建其...
閱讀 667·2021-10-09 09:41
閱讀 651·2019-08-30 15:53
閱讀 1079·2019-08-30 15:53
閱讀 1213·2019-08-30 11:01
閱讀 1571·2019-08-29 17:31
閱讀 992·2019-08-29 14:05
閱讀 1718·2019-08-29 12:49
閱讀 415·2019-08-28 18:17