10
個項目,先後端都要同時發佈,那麼就須要屢次合併代碼、構建,重複不少動做..並且還要去關心構建機器環境是否是變了?配置是否能扛住同時構建多個應用,人爲的操做次數多了,就很難保證萬無一失push
代碼,而後自動完成構建,我只要執行一個命令就能夠完成部署,又不須要關心機器配置和環境變化,那咱們的工做效率是否是能夠大大提高?Travis CI
和gitHub
以及docker-compose
結合進行一鍵代碼push
構建發佈gitHub
和Travis
這兩個平臺是徹底獨立的,特別是我代碼託管在gitHub
上,有時候訪問速度還很慢,更要命的是沒有在一個平臺上造成完整的鏈路閉環華爲雲
能夠知足個人需求,既能夠代碼託管,也有可配置的自動化構建流程,並且訪問速度快,純中文界面友好Node.js
都是有一些腳手架,例如React
這種框架,就有不少腳手架能夠一鍵生成項目模板,讓你再也不關心工程化配置的問題,華爲雲的developer
模塊也提供了這個功能React
+express
模板,10秒鐘左右就生成好了,此時就能夠在個人模板產物中看`npm run install-all
npm run dev
`前端
gitHub
遷移到華爲雲上託管,而後在華爲雲上完成整個開發流程的閉環gitHub
倉庫代碼導入到華爲雲託管
devcloud
模塊,輸入想要導入的gitHub
倉庫地址和帳號密碼(若是須要),而後開始導入,大約耗時30S
git ssh
,將公鑰放置到華爲雲上純中文界面,真的友好
)clone
和啓動`git clone remoteurl
cd your projectName
npm install
npm run dev node
`git
華爲雲
上,爲了完成整套研發環節的閉環,咱們須要將構建、發佈都遷移到華爲雲鯤鵬服務器
上gitHub
和Travis CI
和docker-compose
完成一鍵push
代碼,而後一鍵完成發佈,如今要在華爲雲
上實現一套自動化構建流程React
,後端基於Node.js
的express
框架,跟華爲雲的devstar
的模板很是像docker、node.js
等等這些(PS:
任務新建後能夠修改任務~)
docker-compose
發佈,先後端都打包在一個鏡像中push
後,構建任務不必定須要立刻執行,並且個人推送次數可能很頻繁,此時我能夠調成定時任務,還能限制次數(真的很貼心)dockerfile
文件,用於docker
,基於Node.js 12.16.3
版本的鏡像,指定端口`#引用鏡像
FROM node:12.16.3redis
RUN mkdir -p /usr/www
WORKDIR /usr/www
COPY . /usr/www
RUN npm run builddocker
ENV HOST 0.0.0.0
ENV PORT 8080express
EXPOSE 8080npm
CMD ["node","./server/index.js"]
`後端
能夠選擇什麼分支
),根據配置定時自動構建,而後能夠經過接口或者手動藉助docker-compose
命令進行一鍵更新發布docker-image
的製做和push
(具體參數能夠參考提示)docker
,而後build
打包鏡像,最後push
便可完成構建這一步,咱們本地徹底是無感知的~也不須要考慮配置和環境的問題4核8G
的機器可能就扛不住幾個項目同時構建,在這裏就不用擔憂)docker
鏡像已經發布完成ssh
鏈接華爲雲服務器,執行編寫好的docker-compose
文件token
方式(有權限的人才能夠發佈)調用,執行docker-compose
命令,達到發佈目的ssh
鏈接到華爲雲鯤鵬服務器
ip
地址後,ssh
鏈接成功,編寫docker-compose
文件`version: "3.7"
services:
redis:
image: redis:3
container_name: redis
hostname: redis
command: redis-server /usr/local/etc/redis/redis.conf --requirepass huaweiapp666
volumes:
- ./redis/redis.conf:/usr/local/etc/redis/redis.conf
ports:
- "6379:6379"
huaweiapp:
image: jinjietan/huaweiapp:latest
ports:
- "8080:8080"
restart: on-failure
`服務器
docker-compose pull
app
docker-compose
docker-compose up -d
華爲雲鯤鵬服務器
上