當前位置:首頁 » 網頁前端 » gitlab源碼前端
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

gitlab源碼前端

發布時間: 2023-06-02 21:45:45

『壹』 在自己搭建的gitlab中,能部署用戶可訪問前端打包文件嗎

不知道 自建的gitLab 是否有 pages服務,
但是你既然有自己的伺服器,應該是可以通過 Nginx 配置 ,將路徑映射到你打包後的目錄中去。這個是可以實現的

nginx 靜態文件伺服器的配置請網路。

『貳』 gitLab CI/CD docker自動部署vue前端項目

查詢了好多資料,都沒有找到可以直接應用的,綜合了好多,配置runner之後,前端項目裡面需要在項目根目錄配置三個文件:

1..gitlab-ci.yml 文件

stages:

- build

- deploy

# 設置緩存

cache:

paths:

- node_moles/

- dist/

# 安裝依賴 before_script 會在每個 stages 執行之前運行

before_script:

- npm install

# 編譯 這里對應上方 stages ,

build:

stage: build

script:# script 為要執行的命令,可以多條按順序執行

    - npm run build:prod

docker-deploy:

stage: deploy

# 執行Job內容

  script:

# 通過Dockerfile生成pactera_pflife_ui鏡像

    - sudo docker build -t pactera_pflife_ui .

# 刪除已經在運行的容器

    - if [ $(docker ps -aq --filter name= pactera_pflife_ui) ]; then sudo docker rm -f pactera_pflife_ui;fi

# 通過鏡像啟動容器

    - sudo docker run -d -p 8085:80 --name pactera_pflife_ui pactera_pflife_ui

tags:

# 執行Job的伺服器

    - pflife-web

only:

# 只有在master分支才會執行

    - dev_xht

2.Dockerfile 文件

# 設置基礎鏡像

FROM nginx:latest

# 將dist文件中的內容復制到 /usr/share/nginx/html/ 這個目錄下面

COPY dist/ /usr/share/nginx/html

# 用本地的 default.conf 配置來替換nginx鏡像里的默認配置

COPY default.conf/etc/nginx/conf.d/default.conf

EXPOSE 80

CMD ["nginx","-g","daemon off;"]

3.default.conf文件

server {

listen      80;

server_name  39.100.9.6; # localhost修改為docker服務宿主機的ip

location / {

root  /usr/share/nginx/html;

index  index.html index.htm;

try_files $uri $uri/ /index.html =404;

}

location /api/{

proxy_set_header Host $http_host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header REMOTE-HOST $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://39.100.9.6:8090/;

}

error_page  500 502 503 504  /50x.html;

    location = /50x.html {

root  html;

}

}

總之,三個文件部署之後運行正常

『叄』 gitlab 使用的什麼開發的

Git - 版本控制工具 Git源布式版本控制系統用效、高速處理非項目版本管理[4] Git Linus Torvalds 幫助管理 Linux 內核發發放源碼版本控制軟體 Torvalds 始著手發 Git ...
-

『肆』 前端環境的安裝與配置

前端環境的安裝與配置?一、工具安裝
1.編輯器
2.Git(分布式的代碼管理工具)
3.Photoshop
4.Nodejs鏈接
二、 環境配置
1.配置git:

1.1 設置Git的user name和email:
$ git config --global user.name "name"
$ git config --global user.email "[email protected]"
1.2 生成SSH密鑰過程:(看需求配置)
$ ssh-keygen -t rsa -C "[email protected]"

3個回車,密碼為空。
Your identification has been saved in /home/tekkub/.ssh/id_rsa.
Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.
The key fingerprint is:

………………

最後得到了兩個文件:id_rsa和id_rsa.pub

添加密鑰到ssh:

登陸gitlab, Profile Settings -> SSH Keys -> ADD SSH KEYS ,找到本地的id_rsa.pub文件,復制出裡面的內容,添加到 key 內,此時 Title 會自動填上你的郵箱,沒有的話手動填寫, ADD KEY
1.3 拉取代碼到本地(許可權)

創建一個存放項目的文件夾,在該文件夾下,單擊右鍵,選擇git bash,打開git命令框,編寫命令:git clone [email protected]:xx/xx.git(可以在gitlab項目中找到存放地址,gitlab地址:http://gitlab.vchangyi.com ),按回車,就可以從gitlab上clone代碼到本地文件夾
1.4 手動安裝nodejs,如果是pc端安裝的話,nodejs版本不能過低。

安裝最新版的話npm安裝項目依賴會有問題,手機端gulp無法啟動,所以建議安裝nodejs V6。
1.5 測試node是否安裝成功

在git 命令窗或者node 命令窗中輸入命令 :node -v
1.6 同理,測試npm是否安裝成功npm -v
1.7安裝gulp

在項目下打開git 命令窗,從淘寶源上自行安裝,這個時間需要等待和耐心,也會有網路原因導致安裝失敗,如果安裝失敗可以多來幾次,直到成功為止。
如果是pc端:npm install --registry=http://registry.npm.taobao.org --phantomjs_cdnurl=http://cnpmjs.org/downloads

npm 安裝時候 持久使用淘寶源 設置:
npm config set registry https://registry.npm.taobao.org
配置後可通過下面方式來驗證是否成功
npm config get registry


npm info express

『伍』 Gitlab+Jenkins通過鉤子實現自動部署web項目,圖文詳細教程

擴展參考:Jenkins+Gitlab通過腳本自動部署回滾web項目至集群

1):Gitlab伺服器:ubuntu 192.168.152.131 ---參考搭建:Linux安裝gitlab,docker安裝gitlab教程

2):Jenkins伺服器:ubunu 192.168.152.130 ---參考搭建:linux安裝Jenkins,或docker安裝Jenkins教程

在伺服器上生成ssh-keygen,用於配置web伺服器和Gitlab伺服器。

3):web伺服器:centos 192.168.152.150 ---已搭建好LNMP環境

4):開發者電腦:Windows+key密鑰 (用於提交代碼)

1:在gitlab創建項目Test Project

2.1): 配置一個開發者電腦的ssh公鑰到gitlab

配置一個開發者電腦的ssh公鑰到gitlab,這樣才能模擬開發上傳代碼到gitlab。

windows生成key過程及git安裝,可參考:Windows下git和github的使用圖文詳細教程_the丶only的博客-CSDN博客_github win

在windows測試clone,和提交代碼。


註:最新版git 已經將默認分支master改為main了。所以看到main,而不是master不要太奇怪

測試成功,在gitlab也顯示有index.html文件。

2.2): 配置jenkins公鑰到gitlab

同理,同樣需要jenkins公鑰,因為jenkins也需要拉去gitlab的代碼。

jenkins伺服器 上查看公鑰並復制添加到gitlab,並命名為jekins。

1:插件管理,安裝插件

jenkins本身沒什麼功能,主要是依靠插件來實現各種強大的功能。

基本需要添加的插件:Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab、Git Parameter

可以在 Manage Jenkins >> Manage Plugins 查看管理插件。在Available 選項搜索安裝插件即可。

安裝完成後,重啟Jenkins。

2:添加需要部署的web主機

在 Manage Jenkins >> Configure System 中往下翻,找到 Publish over SSH 選項,點擊add ssh server。

在Jenkins伺服器上,查看私鑰,注,是私鑰,不是公鑰。

將私鑰填寫在key位置,還有添加web伺服器相關信息。

註:如果測試報錯如下

Failed to connect or change directory
jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@2e54414f]

是因為默認用ssh-keygen命令,默認生成了OPENSSH 格式密鑰。而Jenkins暫時不支持這種私鑰,私鑰開頭結尾如下:

所以,需要生成rsa密鑰格式的。用開頭說的ssh-keygen加其他參數生成即可。

私鑰開頭結尾如下:

再次測試,顯示success,則成功。然後點擊save保存即可。

3:構建任務項目

首頁創建任務或者一個項目

命名為web-project,選擇為freestyle project 自由項目。然後ok確認。

3.1):源碼管理 Source Code Management

選擇源碼管理,添加gitlab的項目clone地址。

註:最後路徑選擇分支,我gitlab主分支名字為main,如果是master,則寫master,或者合並的其他分支。

在add添加用戶

添加完成後,選擇git用戶,這時沒有紅色提醒,說明已成功連接

3.2):構建觸發器 Build Triggers

現在Build Triggers,勾選build when....,其他默認,並記下鏈接 http://192.168.152.130:8080/project/web-project

點擊高級 advance 選項。

勾選filter branches regex選擇,填寫分支,生產token。其他默認

3.3):構建 Build

選擇Build 選項。選擇ssh

添加web伺服器

添加完畢,最後save保存。

1:添加鉤子webhooks.

選擇自己的項目Test Project,在設置setting里,選擇鉤子webhooks.

填寫剛才記下的http://192.168.152.130:8080/project/web-project和token值。

最後Add webhook完成:

2:如添加失敗,報錯,更改Network

註:如填寫失敗提示Url is blocked: Requests to the local network are not allowed

還需更改Network選項。

3:測試鉤子

添加完成後,下面會出現鉤子選擇。點擊test中的,push event。

出現successful,即添加成功。

在Jenkins也可以看到剛才的測試時間信息。

在開發電腦上測試提交,我這里為Windows電腦測試。

打開Git Bash,輸入以下命令:

提交成功,回到Jenkins,查看是否構建成功:

綠色顯示構建成功,無錯誤顯示。回到gitlab查看項目。

時間顯示剛才也提交成功,無錯誤。最後在瀏覽器輸入web地址測試,本人配置了web訪問埠8082。所以輸入IP加埠訪問。

內容也已經自動更新成功。

完結撒花!!!