成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用Jenkins進(jìn)行持續(xù)部署(PHP代碼)

fjcgreat / 2281人閱讀

摘要:查看初始密碼,這里我們的容器是首次進(jìn)入,需要先安裝插件,這里我們選擇手工的去選擇一些插件就行了,因?yàn)槲覀內(nèi)绻皇羌傻脑捰貌涣硕嗌俨寮寮x擇我就不截圖說(shuō)明了,和里面得插件可以先取消。

在docker項(xiàng)目中單機(jī)構(gòu)建jenkins使用gitlab的webhook對(duì)項(xiàng)目進(jìn)行持續(xù)部署注意本次項(xiàng)目是php項(xiàng)目沒有build和test部分,至于test部分我們下一節(jié)進(jìn)行,本次只是進(jìn)行一個(gè)提交部署的功能,本屆不會(huì)講到使用docker進(jìn)行交付的方式

項(xiàng)目結(jié)構(gòu)說(shuō)明

其中data/jenkins 是存放狀態(tài)jenkins的目錄

CI-server.yml是jenkisn啟動(dòng)結(jié)構(gòu)

version: "3.0"
services:
  jenkins:
    image: jenkins:latest
    environment:
       DOCKER_URL: ""
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
#備份數(shù)據(jù)
      - "./data/jenkins:/var/jenkins_home"
      - "./dockerfiles/jenkins/.ssh:/var/jenkins_home/.ssh"
    ports:
      - "8999:8080"
#      - "50000:50000"
docker-compose 編排的項(xiàng)目結(jié)構(gòu)

docker-production.yml和docker-compose.yml的差異只是關(guān)閉了安全端口,使用了一些線上的配置文件而已

version:  "3.2"
services:
  nginx:
    image: nginx:1.13.3
    ports:
      - "80:80"
    links:
      - "php-fpm:php-fpm"
    volumes:
#網(wǎng)站目錄
      - ./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:
#網(wǎng)站目錄
      - ./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
#掛載站點(diǎn)日志
      - ./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構(gòu)建工具
  composer:
    image: composer:1.4.2
    volumes:
    #網(wǎng)站目錄
      - ./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 install
Step1,單機(jī)服務(wù)器部署jenkins和docker編排的項(xiàng)目

這里我們把服務(wù)器命令為:zushouyou

服務(wù)器預(yù)先需要進(jìn)行

1.優(yōu)化

2.安裝 git docker

3.clone 項(xiàng)目下來(lái)

git clone project..

Step2,克隆完成項(xiàng)目以后啟動(dòng)jenkins
docker-compose -f CI-server.yml up -d

如果發(fā)現(xiàn)jenkins容器掛了,查看日志,添加權(quán)限,重啟容器就行了

Step3,配置Jenkins

在CI-server.yml中我們映射了 8999->8080端口,所以我們只要訪問這個(gè)端口就可以訪問到j(luò)enkins了,如果服務(wù)拒絕,請(qǐng)檢查服務(wù)器商安全組,iptables規(guī)則,firewalld等防火墻。

然后我們就能訪問歡迎界面了。

查看初始密碼,這里我們的容器id是 f8

docker exec -it f8 bash -c "cat /var/jenkins_home/secrets/initialAdminPassword"
60e74c836b25402581cb0daae95b65a4

首次進(jìn)入,需要先安裝插件,這里我們選擇手工的去選擇一些插件就行了,因?yàn)槲覀內(nèi)绻皇羌傻脑捰貌涣硕嗌俨寮?/p>

插件選擇我就不截圖說(shuō)明了,build tools 和pipline里面得插件可以先取消。
比需要的插件如下

在安裝完成之后配置用戶名和賬號(hào),最后還需要安裝一些第三方的插件


系統(tǒng)管理>管理插件
1.ssh,這個(gè)插件便于到遠(yuǎn)程ssh主機(jī)上執(zhí)行命令

2.webhook,這里我們是gitlab其他同理

在安裝完成以后,最好還是重啟一下,避免出現(xiàn)問題

Step4,配置Job 系統(tǒng)設(shè)置先配置SSH Server和Git的SSH

先讓宿主機(jī)能通過(guò)ssh進(jìn)行pull

1.生成rsa

2.添加到git網(wǎng)站公鑰

3.如果能直接pull,說(shuō)明OK了

4.配置jenkins的server

配置SSH主機(jī)

5.完事后回到主頁(yè)開始job吧

1.

2.

3.

4.執(zhí)行構(gòu)建

最后就只配置一下通知了,
gitlab的webhook配置一下

$RUL/generic-webhook-trigger/invoke?token=fuck

這樣就完成了一次自動(dòng)化部署的過(guò)程。請(qǐng)記住,這篇文章只是讓我們了解了一些簡(jiǎn)單的原理,其中包含build,test最后才是ci,如果我們前面的工作不去實(shí)現(xiàn)做,這樣并沒有什么意義,只是做了一個(gè)自動(dòng)化的腳本。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/25689.html

相關(guān)文章

  • fir.im weekly - 「 持續(xù)集成 」實(shí)踐教程合集

    摘要:來(lái)這里看看的工程師如何進(jìn)行持續(xù)集成與持續(xù)部署。主要介紹了豆瓣移動(dòng)持續(xù)集成和測(cè)試相關(guān)實(shí)踐,用工具化自動(dòng)化社會(huì)化測(cè)試來(lái)解決遇到的問題,將打包發(fā)布環(huán)節(jié)自動(dòng)化。這期的持續(xù)集成實(shí)踐分享就到這里。 我們??吹皆S多團(tuán)隊(duì)和開發(fā)者分享他們的持續(xù)集成實(shí)踐經(jīng)驗(yàn),本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等項(xiàng)目搭建持續(xù)集成的實(shí)踐,以及一些國(guó)內(nèi)外公司的內(nèi)部持續(xù)集成...

    A Loity 評(píng)論0 收藏0
  • 聯(lián)調(diào)環(huán)境快速部署——基于docker-compose的CI/CD實(shí)踐

    摘要:三部署架構(gòu)說(shuō)明這個(gè)方案僅適用于小公司敏捷項(xiàng)目團(tuán)隊(duì)聯(lián)調(diào)測(cè)試環(huán)境的部署,同時(shí)也可以作為學(xué)習(xí)入門的,并不適用于有一定規(guī)模的生產(chǎn)環(huán)境。另外,建議把測(cè)試域名泛解析到部署這臺(tái)服務(wù)的機(jī)器。模塊配置部署腳本業(yè)務(wù)模塊的配置基本是通過(guò)部署腳本來(lái)操作的。 項(xiàng)目地址: https://github.com/xiongwilee...基本特性: 快捷部署多人nginx+php的開發(fā)測(cè)試環(huán)境,也可以擴(kuò)展構(gòu)建其...

    xiaokai 評(píng)論0 收藏0
  • 聯(lián)調(diào)環(huán)境快速部署——基于docker-compose的CI/CD實(shí)踐

    摘要:三部署架構(gòu)說(shuō)明這個(gè)方案僅適用于小公司敏捷項(xiàng)目團(tuán)隊(duì)聯(lián)調(diào)測(cè)試環(huán)境的部署,同時(shí)也可以作為學(xué)習(xí)入門的,并不適用于有一定規(guī)模的生產(chǎn)環(huán)境。另外,建議把測(cè)試域名泛解析到部署這臺(tái)服務(wù)的機(jī)器。模塊配置部署腳本業(yè)務(wù)模塊的配置基本是通過(guò)部署腳本來(lái)操作的。 項(xiàng)目地址: https://github.com/xiongwilee...基本特性: 快捷部署多人nginx+php的開發(fā)測(cè)試環(huán)境,也可以擴(kuò)展構(gòu)建其...

    klinson 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<