使用Jenkins部署Python項目


廖大使用Fabric部署的。我使用Jenkins試試部署過程。雖然說是用python項目部署測試的,但其他項目也是同理的。
參考Jenkins+Python部署完整版,不過安裝方式不同。

安裝tomcat

yum install tomcat

安裝jenkins

上面rpm源失效了,找一個
http://pkg.jenkins-ci.org/redhat/

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install jenkins

啟動jenkins

/etc/init.d/jenkins start
啟動后訪問,IP:8080無反應,用 netstat -tnlp | grep 8080可看到java服務是成功啟動的。設置安全組端口后,可以訪問。

初始化Jenkins

在制定位置復制密碼填入頁面后繼續,選擇了gitgithub插件。
安裝完成,在新建任務之前,需要把項目放到git上去。

發布git

使用git bash上傳代碼到Github並忽略文件

提交log空文件夾,忽略下面所有文件:Git 忽略文件夾下的文件,但是保留空文件夾

# ignore all except .gitignore file
*
!.gitignore

繼續上路...

配置Jenkins

參考文章中的下載插件和更新跳過。直接配置,填寫私鑰等。
保存后構建:

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
... ...
ERROR: Error cloning remote repo 'origin'

是因為配置了GIT,在最前面還勾選並填了github項目地址,去掉構建Ok.

構建

等等,好像哪里不對。構建的位置去哪了,我的服務器目錄就沒填啊。構建地址呢?

Started by user xxxx
Building in workspace /var/lib/jenkins/workspace/python博客
 > git rev-parse --is-inside-work-tree # timeout=10

使用的默認目錄。
搜索了一下Jenkins 構建 目標地址之類的竟然沒搜到想要的結果。!!

Bulid下添加執行Shell,移動文件

\cp -rf $WORKSPACE/$JOB_NAME/*  /xxx/web/

$WORKSPACE/$JOB_NAME 是 工作目錄和項目名

+ cp -rf '/var/lib/jenkins/workspace/pythonBlog/pythonBlog/*' /xxx/web/
cp: cannot stat ‘/var/lib/jenkins/workspace/pythonBlog/pythonBlog/*’: No such file or directory
Build step 'Execute shell' marked build as failure

看來不需要項目名,目錄$WORKSPACE就直接是項目所在路徑沒錯。

之后一直報權限錯誤 Permission denied, 執行腳本無權限。

cp: cannot remove ‘/xxx/web/log/.gitignore’: Permission denied
cp: cannot create regular file ‘/xxx/web/README.md’: Permission denied
cp: cannot remove ‘/xxx/web/www/pymonitor.py’: Permission denied
cp: cannot remove ‘/xxx/web/www/db/table.sql’: Permission denied
cp: cannot remove ‘/xxx/web/www/webFrame.py’: Permission denied
......

網上有一些解決辦法jenkins 權限問題以root用戶運行jenkins中shell命令 都是修改jenkins為root用戶組或者直接用root去執行了。因為我只一個項目,只修改了文件夾用戶權限為jenkinschown -R jenkins:root /xxx/web即可。重啟服務service jenkins restart后再次構建,成功!

最后在配置加計划任務SCM H/5 * * * *五分鍾一次,測試成功,可看Git 輪詢日志看上次何時輪詢,日志可看構建歷史。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM