碼雲專案託管之自動化部署

2022-09-11 19:18:15 字數 1880 閱讀 8284

一、首先要到註冊乙個賬號,並建立乙個專案。

二、把本地和伺服器公鑰新增到碼雲公鑰管理

三、到webhooks下新增webhooks設定

然後新增乙個觸發鉤子的url,當開發者提交主分支的時候,首先是把版本資訊提交到碼雲,然後碼雲主動請求該url,並攜帶版本資訊及密碼過去,進行驗證後觸發鉤子,鉤子再執行版本更新

四、分別在客戶端和伺服器端轉殖專案下來

五、搭建鉤子

建立第三步配置的url訪問的php檔案,我在此命名為gitcode.php檔案,編輯

<?php 

$post=file_get_contents('php://input');//

獲取請求攜帶的引數

$post=json_decode($post ,true);//

將json轉換成陣列

//驗證密碼 保證請求安全性

if($get['password'] == '12345')

else

然後再webhooks管理可以進行測試,出現相關成功資訊,即說明配置成功

注意:在此處有個小坑

(1)如果出現報錯:sudo no tty present and no askpass program specified,則因為對於apache,由於其執行許可權一般為apache:apache,使用者和組都是apache, apache使用者的特點是無密碼,不能登入,無環境變數等。

解決方法:

1. 為sudoer檔案開啟w許可權  

chmod u+w /etc/sudoers
2. 執行visudo命令, 給apache使用者分配sudo許可權

visudo
a. 注釋掉1行:

#defaults requiretty

b. 增加2行:

defaults visiblepw

apache all=(all) nopasswd:/usr/bin/sudo, /usr/local/bin/mp4box, /usr/local/bin/ffmpeg

我這裡允許在cgi中呼叫 /usr/bin/sudo, /usr/local/bin/mp4box, /usr/local/bin/ffmpeg三個命令,您可以根據需要修改

注意上面這2行的作用至關重要,不可隨意修改其格式

c. 儲存退出visudo,退出跟vi命令一樣

:wq3. 關閉sudoer檔案w許可權

chmod -w /etc/sudoers
4.重啟nginx

nginx -s reload
六、在客戶端提交版本即可實現專案的自動化部署了

docker 自動化部署vue 專案

最近把專案的部署換成了自動化部署,採用jenkins docker docker compose 阿里雲容器映象服務 本來一開始是拉取 在自己伺服器上build的,考慮到自己伺服器的效能,最後還是採用了阿里雲的 記錄一下docker部署 vue 的過程。node 構建 nginx 發布 from n...

mysql自動化部署方案 什麼是自動化部署?

自動化部署將可交付產品,快速且安全地交付使用者使用的一套系統和工具。系統會自動構建 測試並準備 變更,以便將其發布到指定環境的過程,包括開發環境 預發布環境 生產環境等。自動化部署工具介紹 簡要介紹 該工具是資料庫自動化部署調優工具,支援mysql 8.0.17 8.0.18和postgresql ...

自動化部署job

bin sh the discription of start.sh echo e the script function 1 deploy the tomcat server if files exist.echo e 2 restart the tomcat server if files no...