subversion+jenkinks部署

#

1.1配置环境
环境:centos6.9
软件包:jdk-8u60-linux-x64.tar.gz
首先关闭selinux和防火墙



更改时间                        –可以写入计划任务中



创建目录

mkdir /application/


解压jdk包到创建的目录中

下载地址:https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

tar xf jdk-8u60-linux-x64.tar.gz   -C /application/


做软连接

ln -s  /application/jdk1.8.0_60/ /application/jdk


设置环境变量

sed -i.ori '$a export  JAVA_HOME=/application/jdk\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport  CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar'  /etc/profile

#sed -i添加一个后缀(比如,-i.bak)就会生成一个原始文件的备份.bak文件。


source一下生效环境变量




1.2安装jenkins

下载yum源并且导入秘钥


wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo<br/>

rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key



yum install jenkins -y 



如果安装失败就到官网下载jenkins的rpm包
http://pkg.jenkins-ci.org/redhat-stable/

编辑配置文件更改端口启动jenkins

vim /etc/sysconfig/jenkins

找到修改端口号:

JENKINS_PORT=”8080” # 此端口不冲突可以不修改

service  jenkins  start



这里会报错 因为Jenkins默认找的jdk环境变量在/usr/bin下 我们需要更改下路径

vim  /etc/init.d/jenkins


找到candidates=” 这个配置项



可以使用这种方式找到路径



然后在次启动Jenkins 成功



在浏览器中访问

首次进入会要求输入初始密码如下图,



初始密码在:/var/lib/jenkins/secrets/initialAdminPassword
















1.3安装subversion

配置好yum源 直接yum安装subversion

yum -y install subversion 




查看版本号

svnserve --version

递归创建目录

mkdir  /data/svn/program   -p




创建svn版本库

svnadmin create /data/svn/program/

配置账号:

vim /data/svn/program/conf/passwd

    [manager]
    xinlong = xinlong




配置权限:

vim /data/svn/program/conf/authz

    [groups]
    manager = xinlong

    [program:/]
    @manager = rw
    * =  ## 代表其他人没有任何权限




配置服务:

vim /data/svn/program/conf/svnserve.conf

    anon-access = none ## 匿名用户可读(关闭)
    auth-access = write ## 授权用户可写
    password-db = /data/svn/program/conf/passwd ## 指定账号配置文件   绝对路径
    authz-db = /data/svn/program/conf/authz ## 指定权限配置文件  绝对路径
    realm = /data/svn/program ## 指定版本库的认证域,即在登录时提示的认证域名称。缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。




启动subversion

svnserve -d  -r  /data/svn/program/   

-d   后台开启守护进程
-r   指定版本库

开通HTTP协议 安装httpd及其svn模块

yum -y install httpd mod_dav_svn




确认模块 dav/dav_svn 已加载

(Centos6 路径是/etc/httpd/conf/httpd.conf )

grep -E "dav_module" /etc/httpd/conf.modules.d/00-dav.conf




( Centos6 路径是 /etc/httpd/conf.d/subversion.conf )

grep -E "dav_svn_module" /etc/httpd/conf.modules.d/10-subversion.conf




SVN HTTP 配置

vim /etc/httpd/conf/httpd.conf

    <Location /program>
    DAV svn
    SVNPath /data/svn/program
    AuthType Basic
    AuthName "SVN program repository"
    AuthUserFile /data/svn/program/conf/svn-auth.htpasswd
    AuthzSVNAccessFile /data/svn/program/conf/authz
    # Authorization: Authenticated users only
    # SVNListParentPath on
    Satisfy all
    Require valid-user
    </Location>




创建 SVN HTTP 用户

-m 表示以 md5 加密密码

touch  /data/svn/program/conf/svn-auth.htpasswd



htpasswd -m  /data/svn/program/conf/svn-auth.htpasswd    xinlong




启动httpd服务



客户端验证(http://xxx)

Windows 下使用 Chrome 浏览器访问: http://ip/program/,输入用户名 chalres 及其密码,成功。




TortoiseSVN检测

右击 点击SVN checkout











然后右击 点击SVN commit









访问网站也可以看到




进入Jenkins的主界面点击新建或创建一个新任务


输入项目的名字选择自由风格点击OK





选择源码管理中的Subversion(SVN) 填写第五步搭建SVN的地址(里面需要有代码)















    #!/bin/bash
date=`date +"%H:%M"`
file=`ls -l  /data/program/  |grep db  |awk -F" " '{print $(NF-1)}'`
if [ "$date" == "$file" ];then
echo "no"
else
echo "checkout"
svn  checkout  http://192.168.1.240/program/  /data/install/   --username  xinlong
echo "OK" >/data/ok.txt
echo "OK"
fi































下面步骤可以更改http svn 为https


开通 HTTPS 协议

3.1 安装 ssl 模块

yum -y install mod_ssl openssl

3.2 生成证书

mkdir /etc/httpd/ssl
cp nginx.key /etc/httpd/ssl/httpd.key
cp nginx.crt /etc/httpd/ssl/httpd.crt

3.3 配置证书

vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile    /etc/httpd/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key

如果要停用 https 改用 http,只需注释下面的 SSLRequireSSL 一行。

vim /etc/httpd/conf/httpd.conf

<Location /program>
    ## ......

    Require valid-user
    SSLRequireSSL
</Location>

3.4 重启服务

systemctl restart httpd

3.5 防火墙放行

vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

重启生效

sudo systemctl restart iptables

3.6 客户端验证(https://xxx)


Windows 下使用 Chrome 浏览器访问: https://ip/program/,输入用户名 charles 及其密码,成功。此时只能使用 https 访问,http 已被禁用。






  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2019-2023 XIN LONG
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信