成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

告別 Jenkins ?這套輕量級自動化部署方案,讓你輕松上車!

開發
Drone 采用輕量級的基于 Docker 的架構,易于部署和管理,重點是免費。Drone 和 Jenkins 都是優秀的 CI/CD 工具,選擇哪一款取決于你的項目需求和團隊規模。

Drone 介紹

Drone 是一款基于 Docker 的輕量級開源 CI/CD 工具,旨在幫助開發人員自動化構建、測試和部署應用程序。它擁有簡單易用的配置方式,并且支持多種流行的源代碼管理平臺和容器平臺。

前期準備

  • 一臺服務器或本地虛擬機
  • 服務器已安裝 Docker、Drone
  • Gitee 倉庫
  • SpringBoot 測試項目

配置 Gitee

登錄 Gitee ,點擊頭像,找到設置,頁面左側點擊 數據管理-第三方應用,創建應用,具體配置如下:

截圖來自 Drone 官網

配置 Drone 項目

登錄服務器中部署好的Drone web 端配置項目

  • 找到我們的 Java 項目,在 Settings 界面中開啟 Trusted

  • 在Settings界面中點擊左側的Secrets,創建秘鑰ssh_host、ssh_user、ssh_password

配置 SpringBoot 項目

在 SpringBoot 項目根目錄中創建三個文件.drone.yml、Dockerfile、run.sh

1.編寫 .drone.yml 配置文件

當master分支有提交代碼時,就會觸發 Drone 自動部署項目

kind: pipeline
name: default

volumes:
  - name: cache
    host:
      path: /var/lib/cache
  - name: muqing-api
    host:
      path: /mydata/muqing-api

steps:
  - name: build
    image: maven:3.6.3-openjdk-17
    pull: if-not-exists
    volumes:
      - name: cache
        path: /root/.m2
      - name: muqing-api
        path: /muqing-api
    commands:
      # 開始打包maven工程
      - mvn clean package -Dmaven.test.skip=true
      # 將打包后的文件復制到宿主機映射目錄
      - cp run.sh /muqing-api
      - cp muqing-admin/target/*.jar /muqing-api
      - cp muqing-admin/Dockerfile /muqing-api
  # 2.使用ssh訪問主機制作鏡像并運行
  - name: ssh commands
    pull: if-not-exists
    image: appleboy/drone-ssh
    settings:
      host: 
        # 從drone倉庫配置中秘密空間讀取服務器IP
        from_secret: ssh_host
      username: 
        # 從drone倉庫配置中秘密空間讀取用戶
        from_secret: ssh_user
      password:
        # 從drone倉庫配置中秘密空間讀取密碼
        from_secret: ssh_password
      port: 22
      script:
        - cd /mydata/muqing-api
        - chmod +x run.sh
        - ./run.sh
# drone執行觸發器
trigger:
  branch:
    - master

2.編寫 Dockerfile 文件

FROM openjdk:17

ADD muqing-admin-0.0.1.jar /home/app.jar

EXPOSE 8080

CMD ["java", "-jar", "/home/app.jar"]

3.編寫 run.sh 腳本

#!/bin/bash
# 應用組名
group_name='java'
# 應用名稱
app_name='muqing-api'
echo '---------- 停止舊容器 ----------'
docker stop ${app_name}
echo '---------- 刪除舊容器 ----------'
docker rm ${app_name}
echo '---------- 刪除舊鏡像 ----------'
docker rmi ${group_name}/${app_name}
echo '---------- 打包新鏡像 ----------'
docker build -t ${group_name}/${app_name} .
echo '---------- 刪除無用鏡像 ----------'
docker image prune -f
echo '---------- 創建新容器 ----------'
docker run -p 8080:8080 --name ${app_name} \
-e TZ="Asia/Shanghai" \
-d ${group_name}/${app_name}

部署結果

對應.drone.yml中配置的流水線步驟:

(1) 從 Git 倉庫中拉取項目代碼

(2) Maven 打包 Java 項目

(3) Docker 部署

總結

Drone 是一款功能強大、易于使用的 CI/CD 工具,提供了豐富的插件,可以擴展其功能。Drone 采用輕量級的基于 Docker 的架構,易于部署和管理,重點是免費。Drone 和 Jenkins 都是優秀的 CI/CD 工具,選擇哪一款取決于你的項目需求和團隊規模。如果您追求簡單易用,Drone 是一個不錯的選擇。

責任編輯:趙寧寧 來源: 源話編程
相關推薦

2024-12-16 13:00:00

JavaELK開發

2015-08-17 14:13:52

Ansible輕量自動化部署工具

2014-03-11 11:10:10

PowerShell自動化腳本

2025-03-18 14:33:14

2016-10-14 16:35:39

2015-02-04 09:17:38

亞馬遜AWS云自動化

2023-09-04 09:42:43

2024-11-28 09:26:46

網絡網絡設備

2023-04-27 07:57:52

AutoIt自動化工具

2024-06-28 08:21:20

前端自動化部署

2018-02-10 18:35:09

LinuxAnsible系統管理

2019-07-12 17:28:08

付款費用SAP Concur

2025-02-13 07:58:21

CI/CDJenkinsGitLab

2021-08-04 08:27:00

VueReact自動化部署

2020-04-22 17:09:04

Python自動化開發

2022-10-14 14:58:02

自動化架構

2021-05-07 08:03:15

微服務JenkinsGitHub項目

2021-02-01 22:01:57

Coco工具macOS

2023-11-15 18:02:52

2019-08-27 20:00:23

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99精品视频免费在线观看 | 一区精品国产欧美在线 | 午夜精品在线 | 99精品国产一区二区三区 | 日韩综合网 | 国产精品一区二 | 国产一区二区黑人欧美xxxx | 久久99深爱久久99精品 | 亚洲精品福利视频 | a在线视频观看 | 精品视频在线免费观看 | 免费黄色大片 | 国产成人精品免费 | 9porny九色视频自拍 | 成人超碰在线 | 欧美电影在线观看网站 | 日日摸天天添天天添破 | 免费观看一级特黄欧美大片 | 久久精品aaa | 91看片| 91香蕉视频在线观看 | 精品国产一区二区三区久久久四川 | 91精品国产综合久久精品图片 | 久久久久久国产精品 | www.久久久久久久久久久 | 国产精品久久久久久av公交车 | 中文字幕日韩欧美 | 欧洲亚洲视频 | 欧美一区中文字幕 | 精产国产伦理一二三区 | 日韩激情视频一区 | 9999精品视频 | 天天躁日日躁狠狠躁白人 | 免费在线黄色av | 欧美一区二区三区视频在线播放 | 欧美视频一区 | 国产成人精品一区二区三区在线 | 国产精品毛片久久久久久 | 午夜视频免费在线观看 | 亚洲欧洲在线视频 | 欧美在线观看网站 |