这篇文章详细的记录了在 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

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

Jenkins的安装

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把项目部署到服务器了,在找资料的过程中,发现很难一下就找到自己想要的,果然,还是得自己动手总结了。

以后也会用到,趁现在总结一二,以后就不要到处找文章了,哈哈。

参考文章

在 ubuntu 中愉快的安装 Jenkins的更多相关文章

  1. Ubuntu 中软件的安装、卸载以及查看的方法总结

    Ubuntu 中软件的安装.卸载以及查看的方法总结 博客分类: Linux UbuntuDebian配置管理CacheF#  说明:由于图形化界面方法(如Add/Remove... 和Synaptic ...

  2. ubuntu中查看已安装软件包的方法

    ubuntu中查看已安装软件包的方法: 方法一:在新立得软件包管理器中,打到已安装,便可以看看有多少包被安装. 如果想把这些包的信息复制到一文件里,可用下面的方法. 方法二:在终端输入 sudo dp ...

  3. Ubuntu 中查找软件安装的位置

    Ubuntu 中查找软件安装的位置 执行该程序 直接执行该程序,有时候一些程序执行时会显示出自己的位置,比如: 用命令 ps -e 找到该程序的名字 用 find 或 whereis 命令查找文件位置 ...

  4. ubuntu中jdk已经安装,但是eclipse启动报错

    问题描述 在ubuntu中,jdk已经正常安装,java_home变量已经配置,但是启动eclipse的时候还是弹出以下错误信息: A Java RunTime Environment (JRE) o ...

  5. ubuntu中VNC的安装配置笔记

    使用服务器时,利用远程桌面是非常方便的,否则需要跑到服务器机房操作非常的费事,或者需要远程操作机器是也可以使用,一般的操作系统都会带有远程桌面功能,但是不如第三方的的软件好用,对于linux系统常用的 ...

  6. 关于ubuntu中的软件安装

    在ubuntu中一般使用apt-get来安装软件工具, 例如 sudo apt-get install g++ apt-get会在镜像库中找到你需要的软件镜像(例如 g++)来安装,那么apt-get ...

  7. ubuntu中python3.4安装pip

    这两天碰到在ubuntu中安装pip的问题. 第一种方法 用百度搜索了一下,基本上都是这个命令: sudo apt-get install python3-pip 但是,用这条命令下载速度特别慢. 第 ...

  8. Ubuntu中Google Chrome安装

    转载自博客 1. 方法一   1.在ubuntu中启动终端   2.在终端中,输入以下命令: sudo wget http://www.linuxidc.com/files/repo/google-c ...

  9. Ubuntu 中sendmail 的安装、配置与发送邮件的具体实现

    一.安装 ubuntu中sendmail函数可以很方便的发送邮件,ubuntu sendmail先要安装两个包. 必需安装的两个包: 代码  sudo apt-get install sendmail ...

随机推荐

  1. C# emgu 多模板匹配

    public MatchInfo GetMatchPos(string Src, string Template) { MatchInfo myMatchInfo = new MatchInfo(); ...

  2. 高可用Redis(十一):使用redis-trib.rb工具搭建集群

    环境说明: 两台虚拟机,IP地址分别为:192.168.81.100和192.168.81.101 虚拟机系统为:CentOS 7.5 Redis为yum安装,版本为3.2 系统环境:关闭firewa ...

  3. linux 磁盘io监控

    我们在线上linux服务器排查问题时,一般会通过top.free.netstat.df -h等命令排查cpu.内存.网络和磁盘等问题.有的时候我们需要更进一步了解磁盘io的使用情况,那么本文就是重点讲 ...

  4. Zabbix中获取各用户告警媒介分钟级统计

    任务内容: 获取Zabbix各用户告警媒介分钟级统计,形成趋势图,便于观察各用户在每分钟收到的告警数量,在后续处理中,可以根据用户在某时间段内(例如3分钟内)收到的邮件总数,来判断是否有告警洪水的现象 ...

  5. laravel call传参

    public function index(Request $request, ApplicationContract $app) { $type = $request->query('type ...

  6. inotify+rsync文件实时同步报错:usr/local/bin/inotifywait: error while loading shared libraries: libinotifytools.so.0:

    解决办法: ln -sv /usr/local/lib/libinotify* /usr/lib/ /usr/lib64/libinotifytools.so.

  7. python 关于django 2.X from django.contrib.auth.views import login

    在学习注册用户的过程中,视图中下面的代码 from django.contrib.auth.views import login 启动django服务时,报错: ImportError: cannot ...

  8. 论文阅读笔记四十八:Bounding Box Regression with Uncertainty for Accurate Object Detection(CVPR2019)

    论文原址:https://arxiv.org/pdf/1809.08545.pdf github:https://github.com/yihui-he/KL-Loss 摘要 大规模的目标检测数据集在 ...

  9. python_web框架

    一.web框架 web框架: 自己完成socket的web框架:如,Tornado等 由WSGI完成socket的web框架:如,Django.flash等 两种实现过程: 第二种WSGI方式的,由于 ...

  10. RESTful-1概述

    一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. 概述 编辑 REST ...