jenkins和svn搭建自动代码构建发布

jenkins安装和配置

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

  2.yum install jenkins

2.启动jenkins
  [root@localhost sysconfig]# systemctl start jenkins
[root@localhost sysconfig]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
[root@localhost sysconfig]# ss -tnl
State       Recv-Q Send-Q               Local Address:Port                              Peer Address:Port              
                
LISTEN      0      50                              :::8080   

jenkins默认监听8080端口  

登录jenkins
  http://192.168.11.129:8080 
  cat /var/lib/jenkins/secrets/initialAdminPassword       
  admin
  632569a8b45b46d2b7799291e79bd958
jenkins基础配置

 

SVN服务器搭建

svn来自于软件包subversion      安装完成这个包之后自动包含svn服务器端和客户端命令

搭建svn服务器
  1.yum install subversion  
  2.创建svn版本库目录
    mkdir -p /var/svn/svnrepos
  3.创建版本库
    svnadmin create /var/svn/svnrepos
    会自动创建出一系列固定的目录
    [root@localhost subversion]# cd /var/svn/svnrepos/
    [root@localhost svnrepos]# ls
      conf  db  format  hooks  locks  README.txt
  4.修改配置文件
    进入conf目录(该svn版本库配置文件)/var/svn/svnrepos/conf
    authz文件是权限控制文件
    passwd是帐号密码文件
    svnserve.conf SVN服务配置文件
   5.设置帐号密码
     vi passwd
     在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan
   6.设置权限
      vi authz
      在末尾添加如下代码:
      [/]
       dan=rw
       w=r
      意思是版本库的根目录dan对其有读写权限,w只有读权限
   7.修改svnserve.conf文件
     anon-access = read #匿名用户可读
     auth-access = write #授权用户可写
     password-db = passwd #使用哪个文件作为账号文件
     authz-db = authz #使用哪个文件作为权限文件
     realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
   8.启动svn版本库
    svnserve -d -r /var/svn/svnrepos
    监听的端口是 3690
svn搭建
6.把s2目录下所有的源代码文件导入到svn管理库
    svn import /root/s2 svn://192.168.11.130/ -m "import tree"
  7.查看远程svn服务器代码
    [root@localhost s2]# svn list --verbose svn://192.168.11.130
      4 yxh                   9月 05 14:39 ./
      4 yxh                 7 9月 05 14:39 222.txt
      3 yxh                26 9月 05 14:36 index.html
      2 yxh                10 9月 05 14:32 test2.txt
  8.从svn中拉取最新代码
     mkdir /data/test
     svn checkout svn://192.168.255.12/ /data/test --username oldboy --password oldboysecret
    [root@localhost s2]# svn co svn://192.168.11.130/
     A    index.html
     A    test2.txt
     C     222.txt
     取出版本 4。
    [root@localhost s2]# ls
      222.txt  index.html  test2.txt
  9.把本地文件提交到svn服务器中
    [root@localhost svntest]# svn add index.html 
    [root@localhost svntest]# svn ci index.html -m "111"
     正在增加       index.html
     传输文件数据.
     提交后的版本为3
svn客户端命令

 

jenkins执行shell脚本

    需要注意两点:

        1.执行脚本当前所在的路径是jenkins当前任务的工作目录 比如构建test1任务的时候/var/lib/jenkins/workspace/test1

        2.执行脚本的当前用户是启动jenkins用户 默认为jenkins这个普通用户 所以可能会遇到权限不足的情况

 

jenkins服务器和web服务器主机都需要创建
  [root@localhost html]# groupadd -g 1001 www
  [root@localhost html]# useradd -u 1001 -g www www
  [root@localhost html]# echo "123456" | passwd --stdin www

实现www用户无密码ssh登录
  [root@localhost ~]# su www
  [www@localhost root]$ ssh-keygen
  [www@localhost root]$ ssh-copy-id www@192.168.11.131
创建普通用户
[root@localhost ~]# vim /etc/sysconfig/jenkins
                              JENKINS_USER="www"
[root@localhost ~]# chown -R www:www /var/lib/jenkins
[root@localhost ~]# chown -R www:www /var/cache/jenkins
[root@localhost ~]# chown -R www:www /var/log/jenkins
[root@localhost ~]# systemctl stop jenkins
[root@localhost ~]# systemctl start jenkins
[root@localhost ~]# ps -ef |grep jenkins
www        3904      1 99 09:03 ?        00:00:21 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
root       3953   3762  0 09:03 pts/2    00:00:00 grep --color=auto jenkins
修改jenkins配置
#!/bin/bash -ilex
echo "the current shell pwd is  $PWD"
echo "the current user is  $USER"
echo "start copy file ........"
scp index.html www@192.168.11.131:/usr/share/nginx/html
echo "the file is copy end"
shell脚本示例

 

jenkins页面设置

  1.给当前构建任务添加描述信息

  2.设置源码管理后 每次构建的时候都会自动从svn代码仓库中拉取代码到当前jenkins工作空间目录下

3.实现每隔2分钟探测下是否有人提交最新代码到svn中 如果检测到代码发生变化则立马自动构建 否则不会自动构建

4.jenkins从svn拉取到最新代码后执行test1.sh脚本

5.查看构建结果日志

 

jenkins构建失败自动发送邮件

   1.配置邮件发送服务器  以QQ邮箱为示例

     jenkins   》  系统管理  》  系统设置

   

 

     这里输入的密码不是qq登录密码  而是需要在qq邮箱的设置中开启SMTP服务时候获取的16位授权码

      QQ邮箱  》 设置  》 帐户 》 

      

 

   

 

2.添加设置构建后操作

 

Maven的用途

   1.从远程仓库中下载项目依赖到的jar包到本地

   2.把java代码编译成对应的class文件

   3.把下载好的jar包和class文件合并成为一个war包

 

 

转载于:https://www.cnblogs.com/yxh168/p/9596496.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins是一个开源的自动构建工具,它可以与Docker容器部署结合使用。在使用Jenkins进行容器部署时,可以通过以下步骤构建代码: 1. 安装Jenkins:首先,需要在服务器上安装并配置Jenkins。可以通过官方网站下载最新版本的Jenkins并按照指示进行安装。 2. 配置Jenkins:安装完成后,需要通过网页界面进行Jenkins的初始化配置。在其中,可以设置管理员账号、插件安装等参数。 3. 创建新项目:在Jenkins的主面板中,选择“新建项目”来创建一个新的构建项目。根据实际需求,可以选择不同的项目类型,如自由风格、流水线等。 4. 配置源码管理:在创建项目后,需要进行源码管理的配置。可以选择使用Git、SVN等版本控制工具管理代码,输入相应的仓库地址和认证信息。 5. 配置构建步骤:在项目配置中,需要添加构建步骤。点击“添加构建步骤”按钮,选择要执行的命令或脚本。对于容器部署,可以选择执行Docker相关的命令,如构建镜像、推送镜像等。 6. 构建触发器:如果需要定期触发构建或根据代码仓库的变化触发构建,可以在项目配置中添加构建触发器。可以选择定时构建、轮询SCM等方式。 7. 保存并启动构建:当配置完成后,点击保存按钮。在项目主页中,点击立即构建按钮手动启动构建,或等待触发器自动触发构建。 8. 查看构建结果:构建过程可以在Jenkins的控制台输出中查看。构建完成后,可以查看构建报告和日志文件以获得详细的构建结果和日志信息。 通过以上步骤,可以使用Jenkins搭建容器部署流水线,实现自动构建和部署的过程。这样可以提高开发效率,减少人工操作的复杂性和错误。同时,Jenkins也提供了丰富的插件和扩展功能,可以根据需求进行灵活的定制和集成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值