• jenkins自动化部署项目1--下载安装启动(linux)


    前面是在windows上搭建jenkins环境,最近有同事要我帮忙在linux上搭建一套,因此在此记录下过程。

    因为jenkins.msi只能在windows上运行安装,因此在linux上安装jenkins有所不同。

    下载地址:https://jenkins.io/download/

    1.安装java环境,jdk7或者jdk8

    2.安装jenkins:

    官网上一种方法是直接命令行下载安装见: https://pkg.jenkins.io/redhat-stable/

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

    但是我尝试之后到第三步就报错下载失败,

    Error downloading packages:
      jenkins-2.121.3-1.1.noarch: [Errno 256] No more mirrors to try.

    因此放弃这种方式,直接下载rpm包:jenkins-2.121.3-1.1.noarch.rpm

    • 执行命令安装:
    sudo rpm -ih jenkins-2.121.3-1.1.noarch.rpm 
    [root@localhost soft]# ls
    jenkins-2.121.3-1.1.noarch.rpm  project
    [root@localhost soft]# sudo rpm -ih jenkins-2.121.3-1.1.noarch.rpm 
    ################################# [100%]
    正在升级/安装...
    ################################# [100%]
    [root@localhost soft]# 
    • 查看jenkins被安装路径的2种方法:
     whereis jenkins
    rpm -ql jenkins
    [root@localhost soft]# whereis jenkins
    jenkins: /usr/lib/jenkins
    [root@localhost soft]#
    •  启动jenkins:
    sudo service jenkins start
    #重启
    service jenkins restart
    [root@localhost jenkins]# sudo service jenkins start
    Starting jenkins (via systemctl):                          [  确定  ]
    [root@localhost jenkins]# netstat -nlp | grep 6666
    tcp6       0      0 :::6666                 :::*                    LISTEN      15623/java          
    [root@localhost jenkins]# 

    这里需要注意的是,jenkins默认端口为8080,我之前安装的tomocat也是,如果8080已经被占用,执行这个命令不会报错,但是服务其实没有启动成功,需要先更改端口

     这里我将端口改为了6666

    这时发现服务启动了,但是在windows上无法访问jenkins,查阅资料发现有可能是防火墙造成的,telnet xx.xx.xx.xx 6666发现失败

    这个时候再linux上查看防火墙是否开启状态:参考 https://www.cnblogs.com/CUI-S/p/9191402.html

     systemctl status firewalld.service
    [root@localhost ~]# service iptables status
    Redirecting to /bin/systemctl status  iptables.service
    Unit iptables.service could not be found.
    [root@localhost ~]# cat /proc/version
    Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016
    [root@localhost ~]#  systemctl status firewalld.service
    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
       Active: active (running) since 四 2018-07-26 09:35:15 CST; 3 weeks 0 days ago
         Docs: man:firewalld(1)
     Main PID: 667 (firewalld)
       CGroup: /system.slice/firewalld.service
               └─667 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
    
    7月 26 09:35:12 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
    7月 26 09:35:15 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
    [root@localhost ~]# 

    发现防火墙开启着,这时查看防火墙规则,发现除了3306,其他都没有配置

    vi /etc/sysconfig/iptables
    [root@localhost ~]# vi /etc/sysconfig/iptables
    
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    ~                                                                                                      
    ~                                                                       

    可以参考链接中的方法二新增入站规则,我这边因为对环境没要求,选择直接关闭防火墙

    systemctl stop firewalld.service 

    此时发现部署在linux上的其他服务比如tomcat可以访问了,但是jenkins还是不可以!

    #如果系统没安装tcpdump则需要先安装:https://www.cnblogs.com/cipc/articles/2428282.html
    yum list tcpdump
    yum install tcpdump
    tcpdump -nni eth0 port 6666

    使用这个命令抓包,发现用谷歌浏览器访问jenkins,抓取不到任何东西,因此怀疑是浏览器的问题,试了下ie果然可以,又试了下火狐,原来是端口的问题。换了个端口,所有浏览器都可以正常访问了

     3.第一次访问jenkins:

    • 安装插件:

     第一次访问,界面出现【 该jenkins实例似乎已经离线 】查阅资料,发现有两种解决方案:

    (我个人两种都尝试过。第一种成功了,但是之后安装推荐的插件还是全部失败。找运维帮忙看过,可能是网络的问题,因此我选择了继续下一步。插件后面在按需安装)

    #下面2种页面操作最终修改的其实是这个文件下的url,该url就是下载插件的镜像
    /var/lib/jenkins/hudson.model.UpdateCenter.xml
    #可供选择的插件镜像源:http://mirrors.jenkins-ci.org/status.html

    方案一:

    #浏览器输入这个链接ip port为jenkins的
    http://ip:port/pluginManager/advanced
    #页面最底下有个【升级站点】,把链接改为如下之后提交,重启jenkins
    https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

    方案二:

    #浏览器输入这个链接ip port为jenkins的
    http://ip:port/pluginManager/advanced
    #页面最底下有个【升级站点】,把链接中的https改成http的就好http://updates.jenkins.io/update-center.json。 重启jenkins
    • 新建第一个用户

    windows上exe和msi 异同

    1)点击Setup.exe文件来实现安装:

      Setup.exe是一个安装引导程序。它是安装工程通过MSBuild创建的,其中包含了一个XML文件,定义了应用程序所需要的系统必备安装包信息。Setup.exe程序会检查这些系统必备安装包是否需要被下载和安装,如果需要,它就会先安装那些系统必备程序。当我们运行它的时候,它会读取setup.ini来确定安装所需要的配置并开始安装流程。

      如果这个setup.exe是在Visual Studio 2005中生成的,那么用户就必须有管理员权限才能运行它。我们可以看见在setup.exe的图标上有一个防护盾,这就意味着这个程序只有管理员才能运行它。如果这个setup.exe是在Visual Studio 2008中生成的,那么用户不一定需要有管理员的权限就能执行它,当有一些特定操作需要管理员的权限时,系统会显示UAC对话框要求提升权限。这类Setup.exe的图标上不会显示防护盾。

      2)点击setup.msi来进行安装。

      Setup.msi是一个Windows Installer包。和setup.exe不一样,直接运行MSI安装包就不会自动安装自定义系统必备。它只会安装主应用程序。在安装项目的属性对话框中修改输出文件的名字,我们可以自定义MSI包的文件名。当我们“运行”它的时候,其实是Windows Installer在执行MSI包定义的各项操作。因此我们需要安装Windows Installer的正确版本才能运行setup.msi。我们也可以使用msiexec命令去安装setup.msi文件。

  • 相关阅读:
    Linux 的硬链接与软链接
    Django补遗(一)
    Django之Form组件
    Django进阶(三)
    Django进阶(二)
    Web请求提交页面--防重提交
    Lucene的搭建(3)
    Lucene的搭建(2)
    Redis-cluster集群搭建
    Redis安装
  • 原文地址:https://www.cnblogs.com/yy-cola/p/9487753.html
Copyright © 2020-2023  润新知