jenkins 和bitbucket集成实现代码的自动编译和code review
1、安装jenkiins 跳转连接如下:
2、通过docker方式安装bitbucket 跳转连接如下:
3、Jenkins安装一些必要的插件:
git, notify bitbucket, 等
4、设置Jenkins用户nneg'g
切换到jenkins用户(sudo su -s /bin/bash jenkins )获取Jenkins用户的公钥
Jenkins用户能够免密登录bitbucket所在的serve 这样设置jenkins clone bitbucket仓库的代码时才不会出现如下错误提示:
无法连接仓库:Command "git ls-remote -h http://192.168.201.71:7990/scm/g/dest-fork.git HEAD" returned status code 128:
stdout:
stderr: fatal: Authentication failed for 'http://192.168.201.71:7990/scm/g/dest-fork.git/'
5、主要实现功能:
(1)作为一个管理员需要设置:代码提交到bitbucket后,bitbucket设置hooks 调用jenkins 拉取远程仓库代码,并自动编译,编译完成后通知bitbucke
并在bitbucket上对应的commit上打上编译成功的标签。
下图中右侧 build显示的是编译成功或者失败的标签
(2)添加普通用户权限和review用户权限设置、
对指定的仓库添加审核的用户,提交到仓库的代码需要审核者 审核通过后才能merge到远程仓库
6、(1)作为一个用户使用需要设置remote仓库 remote仓库的地址指向bitbucket上对应的仓库地址
git remote set-url origin https://github.com/xxxxxx/SpringBoot.git
设置完成后,即可提交git add ,git commit git push 提交代码到bitbucket上对应的仓库
(2)如果提交的代码 没有审核通过的话 需要用户本地执行git reset --hard commit-id
然后执行 git push --force
7、(1)实现代码review
setting--user里注册添加新账户
然后在bitbucket里创建的project repositions setting中 添加Default reviewers
这样在本地提交代码到远程仓库的时候就需要 对应的reviewer进行审核 审核通过后 merge后 才能合并到远程仓库