那一份光 發表於 2019-8-2 20:56:00

ubuntu 安装Jenkins

<div>
<h1>一、介绍</h1>
<p>Jenkins是一款开源自动化服务器,旨在自动化连续集成和交付软件所涉及的重复技术任务。 Jenkins是基于Java的,可以从Ubuntu软件包安装,也可以通过下载和运行其Web应用程序ARchive(WAR)文件进行安装 - 构成一个完整的Web应用程序的集合,该文件旨在在服务器上运行。</p>
<p>在本教程中,我们将通过添加其Debian软件包存储库来安装Jenkins,然后使用该存储库使用<code>apt-get</code>安装软件包。</p>
<h3>先决条件</h3>
<p>要遵循本教程,您将需要:</p>
<ul>
<li> <strong>一个Ubuntu 16.04 或者 Ubuntu18.04服务器</strong><br>
配置了非root用户和防火墙,遵循Ubuntu 16.04初始服务器设置指南 。 我们建议从至少1 GB的RAM开始。 请参阅为大师准备正确的硬件,以指导生产Jenkins安装的容量。</li>
<li>安装Java SDK</li>














</ul>














</div>
<p>&nbsp;</p>
<h3>安装Java SDK</h3>
<p>由于默认的更新源比较慢,修改为阿里云的更新源</p>
<div class="cnblogs_code">
<pre>vim /etc/apt/sources.list</pre>
</div>
<p>清空文件内容,添加如下内容:</p>
<div class="cnblogs_code">
<pre>deb http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/ubuntu/ xenial main restricted</span>
deb http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/ubuntu/ xenial-updates main restricted</span>
deb http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/ubuntu/ xenial universe</span>
deb http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/ubuntu/ xenial-updates universe</span>
deb http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/ubuntu/ xenial multiverse</span>
deb http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/ubuntu/ xenial-updates multiverse</span>
deb http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse</span>
deb http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/ubuntu xenial-security main restricted</span>
deb http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/ubuntu xenial-security universe</span>
deb http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrors.aliyun.com/ubuntu xenial-security multiverse</span></pre>
</div>
<p>&nbsp;</p>
<p>正式安装java jdk</p>
<div class="cnblogs_code">
<pre>apt-<span style="color: rgba(0, 0, 0, 1)">get update
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> apt-get <span style="color: rgba(0, 0, 255, 1)">install</span> -y openjdk-<span style="color: rgba(128, 0, 128, 1)">8</span>-<span style="color: rgba(0, 0, 0, 1)">jdk
apt</span>-get clean all</pre>
</div>
<p>&nbsp;</p>
<h1>二、安装Jenkins</h1>
<p><strong><span style="color: rgba(255, 0, 0, 1)">注意:这里我是单独用了一台服务器,来安装Jenkins</span></strong></p>
<p>&nbsp;</p>
<p>包含在默认Ubuntu软件包中的Jenkins版本往往落后于项目本身的最新版本。 为了利用最新的修复和功能,我们将使用项目维护的软件包来安装Jenkins。</p>
<p>首先,我们将存储库密钥添加到系统。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">wget</span> -q -O - https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -</span></pre>
</div>
<p>&nbsp;</p>
<p>添加密钥后,系统将返回<span style="color: rgba(255, 0, 0, 1)"><code>OK</code></span>&nbsp;。 接下来,我们将Debian包存储库地址附加到服务器的<span style="color: rgba(255, 0, 0, 1)"><code>sources.list</code>&nbsp;</span>:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">echo</span> deb http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list</span></pre>
</div>
<p>&nbsp;</p>
<p>当这两个都到位时,我们将运行<span style="color: rgba(255, 0, 0, 1)"><code>update</code></span>&nbsp;,以便<span style="color: rgba(255, 0, 0, 1)"><code>apt-get</code></span>将使用新的存储库:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> apt-get update</pre>
</div>
<p>&nbsp;</p>
<p>最后,我们将安装Jenkins及其依赖项,包括Java:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> apt-get <span style="color: rgba(0, 0, 255, 1)">install</span> -y jenkins</pre>
</div>
<p>&nbsp;</p>
<p>现在Jenkins及其依赖项已经到位,我们将启动Jenkins服务器。</p>
<p>&nbsp;</p>
<h1>三、开始Jenkins</h1>
<p>使用<span style="color: rgba(255, 0, 0, 1)"><code>systemctl</code></span>我们将启动Jenkins:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> systemctl start jenkins</pre>
</div>
<p>&nbsp;</p>
<p>由于<span style="color: rgba(255, 0, 0, 1)"><code>systemctl</code></span>不显示输出,我们将使用其<span style="color: rgba(255, 0, 0, 1)"><code>status</code></span>命令来验证它是否成功启动:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> systemctl status jenkins</pre>
</div>
<p>&nbsp;</p>
<p>如果一切顺利,输出的开始应显示服务处于活动状态,并配置为启动时启动:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 255, 0, 1)">●</span> jenkins.service - LSB: Start Jenkins at boot <span style="color: rgba(0, 0, 255, 1)">time</span><span style="color: rgba(0, 0, 0, 1)">
   Loaded: loaded (</span>/etc/init.d/<span style="color: rgba(0, 0, 0, 1)">jenkins; bad; vendor preset: enabled)
   Active: <span style="color: rgba(0, 255, 0, 1)">active (exited)</span> since 四 </span><span style="color: rgba(128, 0, 128, 1)">2019</span>-<span style="color: rgba(128, 0, 128, 1)">08</span>-<span style="color: rgba(128, 0, 128, 1)">08</span> <span style="color: rgba(128, 0, 128, 1)">20</span>:<span style="color: rgba(128, 0, 128, 1)">27</span>:<span style="color: rgba(128, 0, 128, 1)">37</span><span style="color: rgba(0, 0, 0, 1)"> CST; 33s ago
   Docs: </span><span style="color: rgba(0, 0, 255, 1)">man</span>:systemd-sysv-generator(<span style="color: rgba(128, 0, 128, 1)">8</span>)</pre>
</div>
<p>&nbsp;</p>
<p>现在Jenkins正在运行,我们将调整防火墙规则,以便我们可以从网络浏览器到达Jenkins以完成初始设置。</p>
<p>&nbsp;</p>
<h1>四、设置Jenkins</h1>
<p><span style="color: rgba(255, 0, 0, 1)"><strong>请注意已经关闭了防火墙</strong></span>,我们将使用服务器域名或IP地址访问Jenkins的默认端口<span style="color: rgba(255, 0, 0, 1)"><code>8080</code>&nbsp;</span>:&nbsp;</p>
<div class="cnblogs_code">
<pre>http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">ip_address_or_domain_name:8080</span></pre>
</div>
<p>&nbsp;</p>
<p>我们应该看到“解锁Jenkins”屏幕,显示初始密码的位置</p>
<p><img src="https://img2018.cnblogs.com/blog/1341090/201908/1341090-20190808204244680-1048227655.png" alt=""></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;在终端窗口中,我们将使用<code>cat</code>命令显示密码:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">cat</span> /var/lib/jenkins/secrets/initialAdminPassword</pre>
</div>
<p>&nbsp;</p>
<p>我们将从终端复制32个字符的字母数字密码,并将其粘贴到“管理员密码”字段中,然后单击“继续”。 下一个屏幕提供安装建议的插件或选择特定插件的选项。</p>
<p><img src="https://img2018.cnblogs.com/blog/1341090/201908/1341090-20190808204418598-1091950035.png" alt=""></p>
<p>&nbsp;</p>
<p>我们将点击“安装建议的插件”选项,这将立即开始安装过程:</p>
<p><img src="https://img2018.cnblogs.com/blog/1341090/201908/1341090-20190808204507807-448864035.png" alt=""></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div>
<div>
<p>安装完成后,系统将提示您设置第一个管理用户。 可以跳过此步骤,并使用上面使用的初始密码作为<code>admin</code>继续,但是我们将花一点时间创建用户。</p>
<p><strong>注意:</strong>默认Jenkins服务器未加密,因此使用此表单提交的数据不受保护。 当您准备好使用此安装时,请按照指南如何使用Nginx反向代理将SSL配置为Jenkins 。 这将保护用户凭据和关于通过Web界面发送的构建的信息。</p>
</div>
<img src="https://img2018.cnblogs.com/blog/1341090/201908/1341090-20190808204718125-463807514.png" alt="">
<p>&nbsp;</p>
<p>创建一个admin用户,密码自己定义</p>
<p><img src="https://img2018.cnblogs.com/blog/1341090/201908/1341090-20190808204835819-1385161821.png" alt=""></p>
<p>&nbsp;</p>
<p>确认实例配置</p>
<p><img src="https://img2018.cnblogs.com/blog/1341090/201908/1341090-20190808204917483-78651953.png" alt=""></p>
<p>&nbsp;</p>
一旦第一个管理员用户到位,你应该看到一个“Jenkins准备好了!” 确认屏幕。<br><img src="https://img2018.cnblogs.com/blog/1341090/201908/1341090-20190808204936778-719137970.png" alt="">
<p>&nbsp;</p>
<p>点击“开始使用Jenkins”来访问主要的Jenkins仪表板:</p>






</div>
<div>&nbsp;<img src="https://img2018.cnblogs.com/blog/1341090/201908/1341090-20190808204954186-2078865392.png" alt="">
<p>&nbsp;</p>
<p>查看</p>
<div class="cnblogs_code">
<pre>root@ubuntu:~# <span style="color: rgba(255, 0, 0, 1)">sudo netstat -</span><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(255, 0, 0, 1)">plntu</span>
激活Internet连接 (仅服务器)
Proto Recv</span>-Q Send-Q Local Address         Foreign Address         State       PID/<span style="color: rgba(0, 0, 0, 1)">Program name
tcp      </span><span style="color: rgba(128, 0, 128, 1)">0</span>      <span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>:<span style="color: rgba(128, 0, 128, 1)">22</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>:*               LISTEN      <span style="color: rgba(128, 0, 128, 1)">1020</span>/<span style="color: rgba(0, 0, 0, 1)">sshd      
tcp6       </span><span style="color: rgba(128, 0, 128, 1)">0</span>      <span style="color: rgba(128, 0, 128, 1)">0</span> :::<span style="color: rgba(128, 0, 128, 1)">22</span>                   :::*                  LISTEN      <span style="color: rgba(128, 0, 128, 1)">1020</span>/<span style="color: rgba(0, 0, 0, 1)">sshd      
tcp6       </span><span style="color: rgba(128, 0, 128, 1)">0</span>      <span style="color: rgba(128, 0, 128, 1)">0</span> :::<span style="color: rgba(128, 0, 128, 1)">8080</span>               :::*                  LISTEN      <span style="color: rgba(128, 0, 128, 1)">8944</span>/<span style="color: rgba(0, 0, 0, 1)">java      
udp      </span><span style="color: rgba(128, 0, 128, 1)">0</span>      <span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>:<span style="color: rgba(128, 0, 128, 1)">68</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>:*                           <span style="color: rgba(128, 0, 128, 1)">928</span>/<span style="color: rgba(0, 0, 0, 1)">dhclient   
udp6       </span><span style="color: rgba(128, 0, 128, 1)">0</span>      <span style="color: rgba(128, 0, 128, 1)">0</span> :::<span style="color: rgba(128, 0, 128, 1)">33848</span>                :::*                              <span style="color: rgba(128, 0, 128, 1)">8944</span>/<span style="color: rgba(0, 0, 0, 1)">java      
udp6       </span><span style="color: rgba(128, 0, 128, 1)">0</span>      <span style="color: rgba(128, 0, 128, 1)">0</span> :::<span style="color: rgba(128, 0, 128, 1)">5353</span>               :::*                              <span style="color: rgba(128, 0, 128, 1)">8944</span>/java       </pre>
</div>
<p>&nbsp;</p>
</div>
<div>
<div>
<p>此时,Jenkins已经成功安装。</p>
<p>&nbsp;</p>
<p>注意:</p>
<p>默认端口是8080,有时候由于端口占用需要修改如下:</p>
<p>1,检查 /etc/init.d/jenkins 脚本,修改 do_start 函数的 check_tcp_port 命令,端口号从 8080 换成 8082:</p>
<p>2,修改 /etc/default/jenkins 文件,将端口 8080 改成 8082</p>
<div class="cnblogs_code">
<pre>HTTP_PORT=<span style="color: rgba(128, 0, 128, 1)">8082</span></pre>
</div>
</div>
3,重启Jenkins<br>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> systemctl restart jenkins</pre>
</div>
<p>&nbsp;</p>
<h2>结论</h2>
<div>
<div>
<p>在本教程中,我们使用项目提供的软件包安装了Jenkins,启动了服务器,并创建了一个管理用户。 在这一点上,您可以开始探索Jenkins。</p>
<p>完成探索后,如果您决定继续使用Jenkins,请按照指南, 如何使用Nginx反向代理使用SSL配置Jenkins,以保护密码以及任何敏感的系统或将发送的产品信息在您的机器和服务器之间的纯文本。</p>
</div>
</div>
</div>
<p>&nbsp;</p>
<p>本文参考链接:</p>
<p>https://www.jianshu.com/p/845f267aec52</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/xiao987334176/p/11323795.html
頁: [1]
查看完整版本: ubuntu 安装Jenkins