久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    早知道有這么個(gè)Ci&CD工具,我就不用Jenkins了!

     小傅哥 2024-01-24 發(fā)布于北京

    作者:小傅哥
    博客:https://

    ?

    沉淀、分享、成長(zhǎng),讓自己和他人都能有所收獲!??

    ?

       大家好,我是技術(shù)UP主小傅哥。

    2c2g 云服務(wù)器,你占用了83%的內(nèi)存空間!傅哥!Jenkins 用不起呀!我好不容易找對(duì)象要50塊買(mǎi)的一年服務(wù)器,要學(xué)你的項(xiàng)目。現(xiàn)在都被 Jenkins 吃了!

       

    哈哈哈,最近一段時(shí)間跟 CI&CD 工具杠上了,一路調(diào)研和嘗試體驗(yàn)了 Jenkins、GitLab、Drone、CircleCI、TeamCity、Bamboo、Travis CI、Codeship、GoCD、Wercker、Semaphore、Nevercode、Spinnaker、Buildbot... 等十多款風(fēng)格迥異的構(gòu)建部署工具。可以說(shuō) Jenkins 依舊是當(dāng)家老大。所以小傅哥的第一篇 CI&CD 文章則是《用上了 Jenkins,個(gè)人部署項(xiàng)目是真方便!》 但這貨也確實(shí)是嘎嘎占內(nèi)存!

    為此,小傅哥今天分享另外一款,輕量、簡(jiǎn)單、好用,還好看的在線(xiàn) CI&CD 工具。直接點(diǎn)點(diǎn)點(diǎn),配置下就能使用了。

    咋樣,這款工具看著不錯(cuò)吧。它叫 s 是一款付費(fèi)軟件,但提供了免費(fèi)白皮襖的額度。足夠我們個(gè)人用戶(hù)使用。

    本文會(huì)向小伙伴介紹這塊工具的使用操作,方便小白們快速上手。在文末還提供了Java項(xiàng)目學(xué)習(xí),讓小白從實(shí)戰(zhàn)中積累變成經(jīng)驗(yàn)。

    一、工具相關(guān)

    • 官網(wǎng)(中文):https://
    • 文檔(中文):https://docs.
    • 官網(wǎng)(英文):https://s

    這款工具號(hào)稱(chēng) 「最易用的CI/CD沒(méi)有之一」,體驗(yàn)過(guò)后我表示,他說(shuō)的對(duì)??!

    二、注冊(cè)賬戶(hù)

    地址:https://s/sign-up?locale=cn&utm_campaign=

    三、添加項(xiàng)目

    地址:https://app.s/

    • 首先,需要在首頁(yè)選擇【添加項(xiàng)目】,并根據(jù)步驟選擇你的倉(cāng)庫(kù)。
    • 之后,這里小傅哥選擇了專(zhuān)用服務(wù)器,填寫(xiě)我的Gitcode倉(cāng)庫(kù)地址。「Gitcode的賬密就是CSDN的賬密」
    • 提示:你可以Fork代碼到自己的倉(cāng)庫(kù)進(jìn)行使用 https:///KnowledgePlanet/road-map/xfg-dev-tech-jenkins

    四、添加流水線(xiàn)

    流水線(xiàn),就跟它的名字一樣,用于構(gòu)建項(xiàng)目所需的一條鏈路流程。如;Maven 構(gòu)建、鏡像打包&發(fā)布、SSH 基本驅(qū)動(dòng)容器啟動(dòng)。也可以是 Maven 構(gòu)建后直接通過(guò) SFTP 把Jar傳遞到 Linux 服務(wù)器,在通過(guò) SSH 鏈接執(zhí)行 Shell 腳本完成 Jar 的鏡像打包和部署。

    所以,接下來(lái)我們先來(lái)完成一個(gè)流水線(xiàn)的最基礎(chǔ) Maven 構(gòu)建,之后再分別添加不同類(lèi)型的流水線(xiàn)操作。「Buddy提供了各種插件,你可以分別組合他們進(jìn)行使用,完成項(xiàng)目的部署。」

    注意??:流水線(xiàn)上的節(jié)點(diǎn),你可以在右側(cè)的綠色按鈕進(jìn)行關(guān)閉,只執(zhí)行你需要的節(jié)點(diǎn)。比如現(xiàn)在你已經(jīng)知道 Maven 構(gòu)建成功了,只需要推送鏡像。那么可以去掉上一個(gè)節(jié)點(diǎn),這樣速度更快。

    1. Docker 流水線(xiàn)

    • 說(shuō)明:這條流水線(xiàn)的步驟為;Maven 構(gòu)建、構(gòu)建Docker鏡像、推送Docker鏡像、SSH連接服務(wù)器拉取鏡像和部署。
    • 步驟:你可以點(diǎn)擊**小加號(hào)+**,選擇添加不同的流水線(xiàn)節(jié)點(diǎn)。

    1.1 構(gòu)建Docker鏡像

    1.2 推送Docker鏡像

    • 注意??:你已經(jīng)在 https://hub./ 創(chuàng)建了自己的鏡像,比如我的是;fuzhengwei/xfg-dev-tech-jenkins 這樣你的鏡像才能PUSH進(jìn)去。

    1.3 SSH連接服務(wù)器拉取鏡像和部署

    # 先刪除之前的容器和鏡像文件
    if [ "$(docker ps -a | grep xfg-dev-tech-jenkins)" ]; then
    docker stop xfg-dev-tech-jenkins
    docker rm xfg-dev-tech-jenkins
    fi
    if [ "$(docker images -q xfg-dev-tech-jenkins)" ]; then
    docker rmi xfg-dev-tech-jenkins
    fi

    docker pull fuzhengwei/xfg-dev-tech-jenkins:2.0
    docker run -itd -p 8091:8091 --name xfg-dev-tech-jenkins fuzhengwei/xfg-dev-tech-jenkins:2.0
    • 注意:拉取鏡像的速度取決于你的服務(wù)器所在的地區(qū),有時(shí)候會(huì)拉取失敗。如果你的云服務(wù)器拉取鏡像總是失敗?,可以選擇第二個(gè)方式 SSH 流水線(xiàn)。它不需要走到DockerHub,能減少網(wǎng)絡(luò)操作。

    2. SSH 流水線(xiàn)

    說(shuō)明:這條流水線(xiàn)的步驟為;Maven構(gòu)建、通過(guò) SFTP 上傳構(gòu)建的Jar到云服務(wù)器。之后通過(guò) SSH 執(zhí)行 Shell 腳本,在云服務(wù)器創(chuàng)建出 Dockerfile 「注意路徑」,這樣 Docker鏡像就直接在云服務(wù)器的 Docker上了,不需要在通過(guò) DockerHub 拉取鏡像。最后通過(guò) SSH 執(zhí)行 Shell 腳本啟動(dòng)服務(wù)即可。

    2.1 SFTP 上傳Jar

    • 配置好傳輸?shù)刂贰⒛繕?biāo)地址,通過(guò) SSH 連接云服務(wù)器進(jìn)行傳輸。
    • /dev-ops這個(gè)是云服務(wù)器的地址,你可以自己定義任何的地址。如果文件夾不存在,也會(huì)自動(dòng)創(chuàng)建。

    2.2 創(chuàng)建Dockerfile

    #!/bin/bash

    cd /dev-ops

    #
     定義Dockerfile的路徑
    DOCKERFILE_PATH="https:///images/roadmap/tutorial/Dockerfile"
        
    # 創(chuàng)建Dockerfile并寫(xiě)入內(nèi)容
    cat > $DOCKERFILE_PATH << 'EOF'
    # 基礎(chǔ)鏡像 openjdk:8-jre-slim
    FROM openjdk:8-jre-slim

    #
     作者
    MAINTAINER xiaofuge

    #
     配置
    ENV PARAMS=""

    #
     時(shí)區(qū)
    ENV TZ=PRC
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

    #
     添加應(yīng)用
    ADD target/xfg-dev-tech-app.jar /xfg-dev-tech-app.jar

    #
    # 在鏡像運(yùn)行為容器后執(zhí)行的命令
    ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /xfg-dev-tech-app.jar $PARAMS"]
    EOF

    echo "Dockerfile has been created."
    • 因?yàn)槲覀儼?Maven 構(gòu)建的 Jar 傳到了云服務(wù)器。所以需要在 Jar 對(duì)應(yīng)的目錄下,創(chuàng)建出 Dockerfile 這樣就可以通過(guò)執(zhí)行 Dockerfile 完成鏡像的構(gòu)建了。
    • 此外如果你的代碼庫(kù)配置有 Dockerfile,也可以通過(guò) SFTP 的方式把 Dockerfile 上傳到云服務(wù)器對(duì)應(yīng) Jar 的位置。「我只是幫你選擇了一個(gè)更穩(wěn)的方式」

    2.3 運(yùn)行服務(wù)

    # 先刪除之前的容器和鏡像文件
    if [ "$(docker ps -a | grep xfg-dev-tech-jenkins)" ]; then
    docker stop xfg-dev-tech-jenkins
    docker rm xfg-dev-tech-jenkins
    fi
    if [ "$(docker images -q xfg-dev-tech-jenkins)" ]; then
    docker rmi xfg-dev-tech-jenkins
    fi

    cd /dev-ops
    docker build -t xiaofuge/xfg-dev-tech-jenkins:1.3 .
    docker run -itd -p 8091:8091 --name xfg-dev-tech-jenkins xiaofuge/xfg-dev-tech-jenkins:1.3
    • cd /dev-ops進(jìn)入到文件路徑。之后構(gòu)建鏡像和部署。

    五、運(yùn)行流水線(xiàn)

    • 點(diǎn)擊運(yùn)行,就可以順序的執(zhí)行你的配置的流水線(xiàn)了。如果某個(gè)執(zhí)行失敗也可以重試。
    • 如果你執(zhí)行完成3個(gè)節(jié)點(diǎn),最后一個(gè)失敗。那么是可以把前面的流程關(guān)閉,只去驗(yàn)證最后一個(gè)流程。這樣會(huì)更快。

    怎么樣,是不是很方便。但要注意,https://app.s - 賬單中,會(huì)記錄你的免費(fèi)額度。

    六、更多學(xué)習(xí)

    Ci&CD、鏈路監(jiān)控、日志采集、中間件設(shè)計(jì)實(shí)現(xiàn)、分布式技術(shù)棧運(yùn)用,等等這些內(nèi)容都是形成自己技術(shù)棧體系非常重要的一個(gè)個(gè)知識(shí)節(jié)點(diǎn)。只要非常清楚的這些全流程,個(gè)人的技術(shù)之路才會(huì)走的更遠(yuǎn)。

      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶(hù) 評(píng)論公約

      類(lèi)似文章 更多

      主站蜘蛛池模板: 2020国产欧洲精品网站| 色偷偷AV男人的天堂京东热| 国产精品视频第一区二区三区| 99久久精品国产综合一区| 亚洲最大成人在线播放| 午夜免费国产体验区免费的| 日日躁夜夜躁狠狠躁超碰97| 大香伊蕉在人线国产最新2005| 亚洲精品无码成人AV电影网| 日本边添边摸边做边爱喷水| A男人的天堂久久A毛片| 久久精品国产亚洲精品2020| 欧美伊人久久大香线蕉综合| 久久午夜色播影院| 中文有无人妻VS无码人妻激烈| 国产精品 欧美 亚洲 制服| 久亚洲一线产区二线产区三线产区 | 国产无人区码一区二区| 国产成AV人片在线观看天堂无码| 国产一区二区三区在线视頻| 四虎国产精品免费久久久| 色综合久久久无码中文字幕| 亚洲最大成人网色| 中文字幕久久国产精品| 国产精品亚洲А∨怡红院| 欧美XXXX色视频在线观看| 最新国产精品好看的精品| 少妇久久久久久久久久| 国精品午夜福利视频不卡| 成午夜精品一区二区三区| 桃花岛亚洲成在人线AV| 国产 亚洲 制服 无码 中文 | 精品国产乱码久久久久APP下载| 国产乱码1卡二卡3卡四卡5| 国产成人免费高清激情视频| 国产日韩一区二区四季| 精品无码国产一区二区三区51安| 成人无码小视频在线观看| 狠狠色丁香婷婷综合尤物| 欧美福利电影A在线播放| 中文乱码人妻系列一区二区|