在 ubuntu 中快速安装 Jenkins

  1. 1. 安装前的准备
    1. 1.1. ubuntu 开启 root 的相关设置
    2. 1.2. 刚接触 linux 时很希望有人能告诉我的一些基本姿势
  2. 2. 安装 Jenkins
    1. 2.1. Java 安装
    2. 2.2. Jenkins的安装
    3. 2.3. Jenkins的运行
    4. 2.4. 防火墙问题
  3. 3. Jenkins的配置
    1. 3.1. 踩过的坑
  4. 4. 总结
  5. 5. 参考文章

这篇文章详细的记录了在 ubuntu 中安装 Jenkins 的一步又一步,因为找了很多 Linux 下安装 Jenkins 的教程,不是很满意
所以决定自己写一篇以备后用(终于让我找到了Java 不用去官网下载的方法了~haha)
为了写文章,狠心把我的 Windows 服务器重装了,允悲。

安装前的准备

如果你恰好是腾讯云的 Ubuntu,默认用户名为:ubuntu

ubuntu 开启 root 的相关设置

若要使用 root 登录,第一次激活需要设置 root 用户的密码:sudo passwd,
两次密码设置后即可通过 su root 切换用户
现在可以使用 root 但是无法远程连接,还需要设置/etc/ssh/sshd_configPermitRootLogin 的值为 yes
设置后记得重启 ssh 服务:sudo service ssh restart

刚接触 linux 时很希望有人能告诉我的一些基本姿势

命令很多很多,且用且搜。

  • 切换用户:su root
  • 权限问题:非 root 账户在执行命令时加上 sudo 等于超级管理员执行
  • 常用命令:
    ls -a:显示所有文件及目录
    pwd:查看当前路径
    lsb_release -a:查看系统版本
    ifconfig:查看 IP 等信息
    ps:显示正在运行中的进程的信息
    学习更多

  • vim 常用的几个命令:
    i:输入模式(使用 vim 打开文件后先按一些 i,然后再移动光标输入字符~),
    w:保存,
    q:退出,
    wq:保存并退出,
    q!:退出保存
    学习更多

  • 下载软件:搜 wget xxxcurl xxx

一切准备就绪,LINK START

安装 Jenkins

第一次安装的可以稍微看下jenkins 的安装文档
总之,如果没有安装 Java 需要安装一下。

下面是目前找到的在 ubuntu 下安装 Java 最简单的方法

Java 安装

参考:https://blog.csdn.net/geekun/article/details/51325525

1
2
3
4
sudo add-apt-repository ppa:openjdk-r/ppa
# 需要回车一下
sudo apt-get update
echo y|sudo apt-get install openjdk-8-jdk

Jenkins的安装

1
2
3
4
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
echo y|sudo apt-get install jenkins

Jenkins的运行

Jenkins 是以服务的形式运行的,故可使用如下民两个管理服务,默认使用 8080 端口

启动服务:sudo service jenkins start

相关服务命令:sudo service jenkins start|stop|restart

防火墙问题

如果因为防火墙的问题可以使用:sudo ufw allow 8080 开放指定端口
ps:在腾讯云的主机中默认防火墙是关闭的(sudo ufw status查看)

Jenkins的配置

至此,可以通过 http://ip:8080 访问 Jenkins 了,然后就是初始化和使用了

  1. 使用cat /var/lib/jenkins/secrets/initialAdminPassword查看初始密码并在浏览器中登录
  2. 安装推荐或自选插件(第一次使用推荐就好,后面可以根据自己需要做调整)
  3. 创建第一个管理员用户 略~
  4. 设置 Jenkins 网址..

正式开启 Jenkins 之旅

踩过的坑

  • shell 脚本无法访问环境变量
    解决方案为:首行添加 #!/bin/bash -ilex,此为我安装 nvm 后在终端可以访问, Jenkins 构建 shell 脚本时无法访问的解决方案

    通过-i 参数和-l 参数让 bash 为 login shell and interactive shell,就可以读取/etc/profile 和~/.bash_profile 等文件
    对于 e 参数表示一旦出错,就退出当前的 shell,x 参数表示可以显示所执行的每一条命令

总结

在使用过程中,还有很多需要记录的,后续再逐步总结。
有个想法就是最终可以构建一个自己的Jenkins镜像,往里面添加几个自己的技术栈的发布模板,应该挺爽的,多尝试,多总结。
最近十分不容易的用Jenkins+Docker把项目部署到服务器了,在找资料的过程中,发现很难一下就找到自己想要的,果然,还是得自己动手总结了。
以后也会用到,趁现在总结一二,以后就不要到处找文章了,哈哈。

参考文章