1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

Wesley13
• 阅读 1018

容器化部署一套云服务系列

1. 容器化部署一套云服务之Jenkins

一、购买服务器

服务器
1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

二、登录云服务器

1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

三、安装jenkins

sudo apt-get install openjdk-8-jdk
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
sudo apt-get update
sudo apt-get install jenkins
查看密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
                b575fc179df742e89b41da9571e5f45e
sudo visudo
        jenkins ALL=(ALL) NOPASSWD: ALL
sudo systemctl start jenkins
sudo systemctl status jenkins
sudo systemctl restart jenkins

四、登录jenkins

94.191.81.xxx:8080
1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))
1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

五、创建任务

1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

六、配置参数

1.配置选项参数

dev或production,后面执行shell命令的时候可以用到

1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

配置branch参数,后面执行shell命令的时候可以用到

1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

配置shell命令

1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

七、部署

点击Build with Parameter ,配置用于构建项目的参数

1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

八、部署成功

1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

九、遇到的问题

问题1. 访问94.191.81.xxx:8080 页面一直停留在SetupWizard

  • 解决方案:重启Jenkins服务
    sudo systemctl restart jenkins

    构建失败
    1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

  • 原因:之前创建的任务 选择的是构建一个多配置项目,应该选择第一个“构建一个自由风格的软件项目”

1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

  解决方案:删除jenkins的workspace,重新创建一个任务:构建一个自由风格的软件项目

问题2.git pull 需要帐户名密码

ssh-keygen -t rsa -C jackson0585@163.com
cat ~/.ssh/id_rsa.pub

git config --global user.name "jackson0714"
git config --global user.email "jackson0585@163.com"
git config --global credential.helper store

git pull
输入用户名和密码后,第二次不会再提示输入

问题4.jenkins账户没有权限

ubuntu@VM-0-17-ubuntu:/home/workspace/testProject$ sudo su jenkins
jenkins@VM-0-17-ubuntu:/home/workspace/testProject$ git pull
Username for 'https://github.com': ^C
jenkins@VM-0-17-ubuntu:/home/workspace/testProject$

解决方案:生成jenkins key

jenkins@VM-0-17-ubuntu:~$ ssh-keygen -t rsa -C jackson0585@163.com

问题5.Jenkins 找不到cnpm命令

Your branch is up-to-date with 'origin/develop'.
+ cd /home/workspace/flycloud/flycloud/backend/
+ cd /home/workspace/flycloud/flycloud/frontend/
+ sudo cnpm install
sudo: cnpm: command not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

切换到jenkins用户,执行cnpm提示找不到命令

sudo su jenkins
npm install cnpm -g --registry=https://registry.npm.taobao.org
报
The program 'npm' is currently not installed. To run 'npm' please ask your administrator to install the package 'npm'

解决方案:安装npm

sudo apt-get install npm

提示node版本低,升级node版本

安装方法:
1.产看node版本,没安装的请先安装;
$ node -v
2.清楚node缓存;
$ sudo npm cache clean -f
3.安装node版本管理工具'n';
$ sudo npm install n -g
4.使用版本管理工具安装指定node或者升级到最新node版本;
$ sudo n stable (安装node最新版本)
或安装指定版本
$ sudo n (可以安装node指定版本 sudo n 10.10.0)
5.使用node -v查看node版本,如果版本号改变为你想要的则升级成功。
![](images/screenshot_1536845880219.png)
版本号没变,还需配置node环境变量
1.查看通过n安装的node的位置;
$ which node (如:/usr/local/n/versions/node/6.12.3)
2.cd进入/usr/local/n/versions/node/ 你应该能看到你刚通过n安装的node版本这里如:10.10.0;编辑/etc/profile;
$ vim /etc/profile
3.将node安装的路径(这里为:/usr/local/n/versions/node/10.10.0)添加到文件末尾;

#set node path
export NODE_HOME=/usr/local/n/versions/node/10.10.0
export PATH=$NODE_HOME/bin:$PATH

![](images/screenshot_1536845781670.png)
4.wq退出保存文件,编译/etc/profile;

$ source /etc/profile

5.再次使用node -v查看node版本,不出意外版本号应该变为你想要的。
![](images/screenshot_1536846156322.png)

问题6../start.sh 没有权限

./start.sh
bash: ./start.sh: Permission denied

解决方案:给该目录添加权限

chmod 777 -R *

作  者: Jackson0714
出  处:http://www.cnblogs.com/jackson0714/
关于作者:专注于微软平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!

本文同步分享在 博客“7年一线互联网经验,超爱图解底层原理,全栈一枚”(CNBlog)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Peter20 Peter20
3年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Stella981 Stella981
3年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法参考文章:(1)Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.codeprj.com%2Fblo
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这