欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

gitlab-runner中搭建nvm、nrm以及優(yōu)化maven打包方式

 更新時間:2024年11月12日 15:07:25   作者:一只牛博  
文章描述了如何在GitLab Runner上配置NVM、NRM,并優(yōu)化Maven打包過程,通過上述配置和優(yōu)化,作者將Maven打包時間從三分鐘縮短到不到40秒

gitlab-runner搭建nvm、nrm及優(yōu)化maven打包

因為gitlab-runner作為服務器的一個用戶,所以它是不能具備所有root權限的,對于nvm、nrm也是,除非將其安裝到非~目錄下

git、gitlab-runner

CentOS 7上的GitLab Runner,讓你的項目加速奔跑

如何以gitlab-runner執(zhí)行

sudo -u gitlab-runner -i

sudo -u gitlab-runner -i 是一個 Linux 命令,它的含義可以分解如下:

  • sudo:表示以超級用戶(root)的權限運行接下來的命令。sudo 命令允許你以其他用戶的身份運行命令。
  • -u gitlab-runner:指定要以哪個用戶的身份來運行命令。在這個例子中,我們指定了 gitlab-runner 用戶。這樣后續(xù)的命令就會以 gitlab-runner 用戶的權限來執(zhí)行。
  • -i:表示以登錄 shell 模式啟動。-i 會讓你切換到指定用戶的 home 目錄,并讀取該用戶的登錄 shell 配置文件(如 .bash_profile 或 .profile),相當于你以該用戶身份登錄了一次系統。

組合的意義

sudo -u gitlab-runner -i 命令的完整含義就是:

  • 以 gitlab-runner 用戶的身份,以登錄 shell 模式運行一個交互式會話(也就是進入 gitlab-runner 用戶的 shell)。
  • 執(zhí)行這個命令后,你的命令提示符會切換到 gitlab-runner 用戶的上下文,并且當前目錄也會切換到 gitlab-runner 用戶的 home 目錄。此時,你就可以以 gitlab-runner 用戶的權限執(zhí)行接下來的命令,類似于你直接以 gitlab-runner 用戶登錄。

應用場景

  • 檢查用戶權限:使用 gitlab-runner 用戶身份來檢查是否能訪問某些文件或執(zhí)行某些命令。
  • 配置環(huán)境:在用戶的 home 目錄中配置 .bashrc 或 .bash_profile,以確保用戶登錄后有正確的環(huán)境變量配置。
  • 調試 GitLab Runner 問題:如果 gitlab-runner 用戶在 GitLab CI/CD 中無法正確執(zhí)行一些命令,可以通過切換到該用戶身份來手動測試命令的執(zhí)行情況。

nvm、nrm

搭建nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash

我用的是0.39.6版本的,目前最新的是0.40.1

加載nvm

在安裝完成后,你需要加載 NVM。

你可以通過以下命令來激活 NVM:

source ~/.nvm/nvm.sh

或者通過添加以下內容到 ~/.bashrc 文件中,以便每次啟動終端時自動加載:

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

保存并退出后,可以通過以下命令來使配置生效:

source ~/.bashrc

下載node

# 其中14.15.1為版本號
nvm install 14.15.1

下載nrm

npm install -g nrm

下載成功截圖

上面雖然是在系統中搭建的,但是在gitlab-runner中搭建方式也是一樣的

注意:在編寫gitlab-ci.yml的時候要執(zhí)行 source ~/.bashrc

build:
  stage: build
#  image: node:16  # 使用 Node.js 14 鏡像作為構建環(huán)境
  script:
    - source ~/.bashrc # 自動加載配置文件
    - npm install  # 安裝項目依賴
    - npm run build  # 執(zhí)行構建命令,生成靜態(tài)文件
    - tar -czf public.tar.gz -C public .  # 將 public 目錄下的內容打包為 public.tar.gz
  artifacts:
    paths:
      - public.tar.gz  # 將打包后的文件作為 artifacts,以供后續(xù)階段使用
  tags:
#    - saas-linux-small-amd64
    - acowbo-node

優(yōu)化maven

優(yōu)化前大概發(fā)一次版本需要三分鐘,優(yōu)化后僅需要不到40s

這里給大家提供一個思路

優(yōu)化拉依賴(如果你沒有本地倉庫的話,就會每次都要拉取線上的依賴,非常費時間)優(yōu)化打包(如果你的項目很大,這時候就要想優(yōu)化打包了,因為對于不同服務器的文件傳輸,也是很費時間的)

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • docker鏡像封裝方便打包上傳一鍵部署

    docker鏡像封裝方便打包上傳一鍵部署

    這篇文章主要為大家介紹了docker鏡像封裝方便打包上傳一鍵部署,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • 詳解docker國內鏡像拉取和鏡像加速registry-mirrors配置修改

    詳解docker國內鏡像拉取和鏡像加速registry-mirrors配置修改

    由于國內訪問直接訪問Docker hub網速比較慢,拉取鏡像的時間就會比較長。一般我們會使用鏡像加速或者直接從國內的一些平臺鏡像倉庫上拉取
    2017-05-05
  • docker容器化部署及使用方式

    docker容器化部署及使用方式

    這篇文章主要介紹了docker容器化部署及使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker進階之快速擴容的方法

    Docker進階之快速擴容的方法

    這篇文章主要介紹了Docker進階之快速擴容的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • 使用docker?部署mysql突然連接不上的問題及解決方法

    使用docker?部署mysql突然連接不上的問題及解決方法

    這篇文章主要介紹了使用docker?部署mysql,突然連接不上,要解決這個問題需要找到根本原因,對癥治療就好,本文通過圖文實例相結合給大家介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 清理docker占用磁盤過大問題終極方案(親測有效!)

    清理docker占用磁盤過大問題終極方案(親測有效!)

    Docker很占用空間每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時我們的磁盤空間會被大量占用,這篇文章主要給大家介紹了關于清理docker占用磁盤過大問題終極方案,需要的朋友可以參考下
    2024-04-04
  • 使用Nexus創(chuàng)建Docker倉庫的方法步驟

    使用Nexus創(chuàng)建Docker倉庫的方法步驟

    這篇文章主要介紹了使用Nexus創(chuàng)建Docker倉庫的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • 使用Docker部署Tomcat的實現示例

    使用Docker部署Tomcat的實現示例

    在本地編寫好了Spring項目,為了實現能夠隨時地訪問,所以需要將項目部署到服務器,本文主要介紹了使用Docker部署Tomcat的實現示例,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • docker容器添加對外映射端口的實現

    docker容器添加對外映射端口的實現

    本文主要介紹了docker容器添加對外映射端口的實現 ,從而實現容器與外部網絡的通信,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-09-09
  • 使用dockerfile構建nginx鏡像的方法示例

    使用dockerfile構建nginx鏡像的方法示例

    這篇文章主要介紹了使用dockerfile構建nginx鏡像的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09

最新評論