摘要:域名和應用記得一樣接著我們創建一個管理員用戶,然后其他的都默認,點擊立即安裝完成。初始化成功之后我們可以在里邊創建一個倉庫,然后登陸。比如配置文件需要的密鑰,用戶名和密碼,一些環境變量都可以在設置,構建狀態徽章可以在你的項目文件加上去。
drone是一個基于容器的本地持續交付平臺,和Jenkins是差不多的,然后配合輕量級的gogs來作為git管理,都是基于golang開發的很符合我的需求,我們來把它們結合作為一個完整的CI、CD平臺。
首先我們要先安裝docker,上次的篇幅我們已經說過了我就不贅述了。
需要的東西有:linux,docker,docker-compose,drone,gogs,git等。
安裝gogs和drone配合榮鋒亮大哥的yml文件和docker-compose我們可以很容易安裝他們:
version: "3" services: drone-server: image: drone/drone:latest ports: - "8080:80" - 8843:443 - 9000 volumes: - ./drone:/var/lib/drone/ - /var/run/docker.sock:/var/run/docker.sock environment: - DRONE_OPEN=true - DRONE_SERVER_HOST=drone-server - DRONE_DEBUG=true - DRONE_GIT_ALWAYS_AUTH=false - DRONE_GOGS=true - DRONE_GOGS_SKIP_VERIFY=false - DRONE_GOGS_SERVER=http://gogs:3000 - DRONE_PROVIDER=gogs - DRONE_DATABASE_DATASOURCE=/var/lib/drone/drone.sqlite - DRONE_DATABASE_DRIVER=sqlite3 - DRONE_SERVER_PROTO=http - DRONE_RPC_SECRET=ALQU2M0KdptXUdTPKcEw - DRONE_SECRET=ALQU2M0KdptXUdTPKcEw gogs: image: gogs/gogs:latest ports: - "10022:22" - "3000:3000" volumes: - ./data/gogs:/data depends_on: - mysql mysql: image: mysql:5.7.16 volumes: - ./gogs/mysql:/var/lib/mysql - /var/run/docker.sock:/var/run/docker.sock ports: - 3308:3306 command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci environment: MYSQL_ROOT_PASSWORD: pass MYSQL_DATABASE: gogs MYSQL_USER: gogs MYSQL_PASSWORD: pass TZ: Asia/Shanghai drone-agent: image: drone/agent:latest depends_on: - drone-server environment: - DRONE_RPC_SERVER=http://drone-server - DRONE_RPC_SECRET=ALQU2M0KdptXUdTPKcEw - DRONE_DEBUG=true - DOCKER_HOST=tcp://docker-bind:2375 - DRONE_SERVER=drone-server:9000 - DRONE_SECRET=ALQU2M0KdptXUdTPKcEw - DRONE_MAX_PROCS=5 docker-bind: image: docker:dind privileged: true # command: --storage-driver=overlay
我們創建一個存放docker-compose.yml文件的目錄比如就叫gogs,然后我們把這些yml保存成docker-compose.yml,然后執行docker-compose來安裝:
$ docker-compose up -d
配合yml文件,我們就安裝好了drone-server和drone-agent還有gogs,然后我們用瀏覽器打開http://localhost:3000/來進入gogs并初始化它。
域名和應用URL記得一樣接著我們創建一個管理員用戶,然后其他的都默認,點擊立即安裝完成。
初始化成功之后我們可以在gogs里邊創建一個倉庫,然后登陸drone。
drone打開瀏覽器輸入http://localhost/直接進入drone,密碼是gogs的你的剛剛的賬戶和密碼。
我們會看到一個剛剛創建的倉庫,激活它!
激活之后,我們回到gogs那邊,倉庫的設置里邊的webhook應該已經配置好了
我們可以測試web hook,如果沒有問題的話,應該會提示成功。
上傳源碼測試沒有問題之后,我們初始化我們的代碼文件夾為git倉庫,然后push到gogos上邊
然后為你的倉庫加上.drone.yml配置文件,drone-server會自動讀取這個文件進行CI、CD操作等。以下這個是我們的示例文件
kind: pipeline name: demo steps: - name: build image: golang:1.11.4 commands: - pwd - go version - go build . - go test demo/util # - name: frontend # image: node:6 # commands: # - npm install # - npm test - name: publish image: plugins/docker:latest settings: username: from_secret: docker_username password: from_secret: docker_password repo: example/demo tags: latest - name: deploy image: appleboy/drone-ssh pull: true settings: host: example.me user: root key: from_secret: deploy_key script: - cd /data - mkdir app/ - cd /data/app - docker rmi -f example/demo - echo "login docker" - echo "login success, pulling..." - docker pull example/demo:latest - echo "image running" - docker run -p 8088:8088 -d example/demo - echo "run success"
我們首先進行簡單的golang build和test操作然后根據Dockerfile文件把我們的程序構建成docker鏡像,接著上傳到docker hub中,然后通過drone-ssh插件部署這個鏡像。
開始構建有了配置文件之后,推送代碼我們就可以去drone查看構建進度:
drone的設置在進入drone的時候,選擇一個項目我們可以進行一些必要的設置,比如配置secrets,定時任務和徽章等等。
比如配置文件需要的密鑰,用戶名和密碼,一些環境變量都可以在secrets設置,構建狀態徽章可以在你的項目README.md文件加上去。
項目加上徽章:
示例代碼,本文完。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27743.html
摘要:所以我們選一個倉庫倉庫比較多,我這里選用,都行,根據需求自行選擇訪問端口,然后就沒有然后了功能沒有那么強大,不過占用資源少,速度快,我們穩定運行了幾年了。 kubernetes集群三步安裝 CI 概述 用一個可描述的配置定義整個工作流 程序員是很懶的動物,所以想各種辦法解決重復勞動的問題,如果你的工作流中還在重復一些事,那么可能就得想想如何優化了 持續集成就是可以幫助我們解決重復的代碼...
摘要:是的最佳實踐部署編寫文件的部署及其簡單,采用的方式,類似于。具體如下此處需要注意的是在處的。登錄配置項目此處輸入的用戶名和密碼是的。支持和兩個數據庫。新的配置文件如下仔細查看關于的文檔,需要我們手動創建數據庫。其中有和相關的。 前言 整個基于k8s的pass平臺,關鍵的一部分就是CICD。CICD又是devops的關鍵部分。之前主流的工具是Jenkins。今天主要介紹的是drone。...
摘要:是的最佳實踐部署編寫文件的部署及其簡單,采用的方式,類似于。具體如下此處需要注意的是在處的。登錄配置項目此處輸入的用戶名和密碼是的。支持和兩個數據庫。新的配置文件如下仔細查看關于的文檔,需要我們手動創建數據庫。其中有和相關的。 前言 整個基于k8s的pass平臺,關鍵的一部分就是CICD。CICD又是devops的關鍵部分。之前主流的工具是Jenkins。今天主要介紹的是drone。...
摘要:原文鏈接測試環境生產環境騰訊云容器服務官方網站安裝請使用或升級到最新版本。注意版本的不同。與或集成請參考官方文檔的配置。之后使用以下命令啟動即可安裝詳情請參考使用與類似,項目中包含即可使用。本站介紹的使用方法請查看這里示例 原文鏈接:http://www.khs1994.com/ci/dro... 測試環境:macOS + Drone + Gogs + Docker Registry ...
閱讀 2144·2023-04-26 00:38
閱讀 1930·2021-09-07 10:17
閱讀 887·2021-09-02 15:41
閱讀 637·2021-08-30 09:45
閱讀 541·2019-08-29 17:25
閱讀 3204·2019-08-29 15:07
閱讀 2182·2019-08-29 12:52
閱讀 3734·2019-08-26 13:35