最近在部门推行代码审查工具,发现upsource这个工具,用了下发现还是不错的,现将部署方法记录下。
upsource的部署是放在docker环境中,中间遇到了很多问题,比如容器内的svn链接问题,不过最后都一一搞定。
upsource我用的是2017.1.1922版本,这个版本是现阶段能够po jie的最后的一个版本,最新的2017.2.2057已经改变相关策略
首先在docker中下载upsource,不建议使用官方的命令直接部署,因为需要修改镜像。
docker pull jetbrains/upsource:2017.1.1922
然后修改镜像:
FROM 192.168.40.104/library/upsource:2017.1.1922 MAINTAINER hx<hx@gmail.com> USER root RUN rm /opt/upsource/apps/hub/web/WEB-INF/lib/jetbrains.jetpass.userManagement-2017.1.4711.jar ADD /jetbrains.jetpass.userManagement-2017.1.4711.jar /opt/upsource/apps/hub/web/WEB-INF/lib EXPOSE 8080
另:
jetbrains.jetpass.userManagement-2017.1.4711.jar为pojie文件
在这里我使用的私有库,用root用户就为了添加svn用户
部署upsource用的rancher,这个工具应该是现阶段能找到的最好的开源的docker管理部署工具了
version: '2' volumes: upsource-lib: external: true driver: rancher-nfs upsource-backups: external: true driver: rancher-nfs upsource-data: external: true driver: rancher-nfs upsource-logs: external: true driver: rancher-nfs upsource-conf: external: true driver: rancher-nfs services: upsource: image: 192.168.40.104/library/upsource:2017.1.1922.2 stdin_open: true volumes: - upsource-data:/opt/upsource/data - upsource-conf:/opt/upsource/conf - upsource-logs:/opt/upsource/logs - upsource-backups:/opt/upsource/backups tty: true ports: - 8088:8080/tcp labels: io.rancher.container.pull_image: always
这个是docker-compose文件,用的持久化是rancher-nfs
部署成功后,登录到容器中,在root用户下使用
svn checkout https://localhost/svn
之后根据页面提示进行相关设定后,upsource使用svn就ok了
部署完成并添加用户和项目后的upsource内存约使用8个G,所以容器宿主机的内存设定最好大点。
后记:
upsource和IntelliJ IDEA、pycharm、webstorm的集成只需要在plugin中添加upsource integrate的插件,重启后在tools中设定upsource地址后就ok了,使用起来非常方便。