-
Notifications
You must be signed in to change notification settings - Fork 0
/
jenkins.txt
121 lines (98 loc) · 3.53 KB
/
jenkins.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#exec command
#cd进入xxx目录,该xxx目录就是上面配置的remote directory,不记得的可以翻上去看看,因为打包好的包是发送到该目录的
#此处也有个remote directory,该项是填写上面所配置的remote directory地址的相对路径
#打个比方,最上面remote directory配置的路径是/var/html/www,www下面有个admin目录,如果不填该项,打包好的包是发送到/var/html/www这个路径下,如果填了,比如填了/admin,包就会发送/var/html/www/admin目录下面
#rm -rf `ls * | grep -v (dist.tar.gz|admin)` 删除该目录下的所有文件,除了dist.tar.gz和admin目录
#tar -zxvf dist.tar.gz 解压压缩包到当前目录
#rm -rf dist.tar.gz 删除该压缩包
#---------------------------------------------------
cd xxx
rm -rf `ls * | grep -v (dist.tar.gz|admin)`
tar -zxvf dist.tar.gz
rm -rf dist.tar.gz
==========================================
jenkins 自动化部署
centos7上安装jenkins
安装
sudo wget -o /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install jenkins
修改默认配置
vi /etc/sysconfig/jenkins
jenkins_user="jenkins" jenkins 会自动创建一个jenkins用户, 为了方便学习可以设置为root
jenkins_port="8080" jenkins 服务启动默认端口
配置java路径
vi /etc/init.d/jenkins
找到如下配置, 检查本机的java路径是否包含在里面,如果不存在则在最后加上
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
"
打开和关闭防火墙
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload
firewall-cmd --list-all
启动
sudo service jenkins start
在浏览器输入 服务器ip地址:8080 => 192.168.74.74:8080 浏览会自动跳转到jenkins初始化页面
image.png
获取初始化密码
vim /var/lib/jenkins/secrets/initialadminpassword
输入密码后点击continue
image.png
点击第一个(不用管其它插件, 后续可以从后台安装, 有些可能需要挂vpn才能下载)
image.png
安装完插件之后,跳转到创建用户页面, 填入用户信息点继续
image.png
安装完成!
create user 'jenkins'@'%' identified by '123456';
create database `jenkins_demo` default character set utf8 collate utf8_general_ci;
grant all on jenkins_demo.* to 'jenkins'@'%';
use jenkins_demo;
create table "jenkins_data" (
"id" int(11) unsigned not null auto_increment comment '主键编号',
"message" varchar(100) not null,
primary key ("id")
) engine=innodb auto_increment=0 default charset=utf8;
update.sql
insert into `jenkins_demo`.`jenkins_data` (`message`) values ( '初始化');
新建一个工程, 选择构建一个自由风格的软件项目,点ok完成新建
源码管理选择subversion, 填上放置sql的svn地址
构建选择execute shell
配置shell脚本
把需要执行的sql进行备份
复制一份部署到远程服务的副本 push.sql
清空update.sql内容, 提交svn
rm -rf push.sql
today=`date "+%y-%m-%d"`
sqlfile=$workspace/update.sql
if [ ! -x "$sqlfile"]; then
exit 0
fi
bakfile=update-`date "+%y%m%d%h%m%s"`.sql
mkdir -p $workspace/${today} && cp ${sqlfile} "$_"/${bakfile}
cp ${sqlfile} push.sql
svn add $workspace/${today}
svn add $workspace/${today}/${bakfile}
echo "" > $workspace/update.sql
svn update $workspace/update.sql --username xxxx --password 111111 --no-auth-cache
svn commit -m "sql自动化部署" --username xxxx --password 111111 --no-auth-cache
配置构建后操作
send build artifacts over ssh
完成后的配置
/usr/local/mysql/bin/mysql -ujenkins -p123456 <<eof
use jenkins_demo;
source /data/sql/jenkins-demo/dev/push.sql;
eof
exit;
rm /data/sql/jenkins-demo/dev/push.sql
点击保存, 回到工程页面,立即构建
蓝色:成功
黄色:一般是sql执行错误
红色:失败
执行成功后,查看数据库和svn目录