Jenins安装笔记
1.java环境
切换默认java版本为1.8 sudo update-alternatives --config java
2安装jenkins
java包可以在过来镜像网站拿到
https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/
安装时指定安装路径和端口号避免和tomcat中的其他端口号冲突
export JENKINS_HOME=/home/qiuhui/ljenkins/workspace export JENKINS_USER="root"
并立即source /etc/profile使终端环境生效
java -jar jenkins.war --httpPort=8081
然后登入ip:port根据提示输入管理员随机密码
选择默认插件可能会因为网络问题安装失败,可以去到国内镜像去拿插件手动安装
https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/
Credentials
创建domain在创建用户,git选择放入私钥
有一个地方可能是存放jenkins配置的
sudo vi /etc/default/jenkins
方式一:重置密码 修改 JENKINS_HOME/users/usernamedir 目录下的config.xml 文件
注:usernamedir 就是你忘记密码对应的用户文件夹 如果是java -jar方式启动的,HOME目录位于/root/.jenkins
修改config.xml,找到 passwordHash部分,替换原有的hash值
把 #jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS 修改为 #jbcrypt:$2a$10$4NW.9hNVyltZlHzrNOOjlOgfGrGUkZEpBfhkaUrb7ODQKBVmKRcmK 后者是123456的hash值
重启Jenkins /etc/init.d/jenkins restart
用最新的密码 111111 登录
方式二:取消密码
进入Jenkins主目录,备份config.xml cp config.xml config.xml.bak
修改config.xml文件 找到关键词 useSecurity ,把后面的值 true 改为false
重启 Jenkins /etc/init.d/jenkins restart
可以无账号和密码登录Jenkins
卸载方法
//服务
sudo apt-get remove jenkins
//安装包,注意这里如果不是ubuntu那就yum
sudo apt-get remove --auto-remove jenkins
//配置和数据
sudo apt-get purge jenkins
sudo apt-get purge --auto-remove jenkins
记录一些脚本,避免遗忘
#!/bin/bash
# rm -rf /home/xxxxx/ljenkins/jenkins_install/workspace/xxxxxxx/krogoth/build-xxxx/tmp/deploy/images/imx6qsabresd/*
cd krogoth
cp ../version/xxxxxx_base.xml version/
cp ../version/Release version/
chmod 777 fsl-setup-release.sh
DISTRO=fsl-imx-wayland MACHINE=imx6qsabresd source fsl-setup-release.sh -b build-xxxx -c version/xxxxxx_base.xml
bitbake -c cleanall xxxxxx-hmi xxxxxx-mcu linux-imx u-boot-imx xxxxxxx-image xxxxxx-midware recoveryfs-initramfs xxxxx-update-program xxxxxxx-update-recovery xxxxx-updateservice
bitbake xxxx-image
cp /home/xxxxx/ljenkins/jenkins_install/workspace/xxxxxx/krogoth/version/xxxxx_base.xml /home/xxxx/ljenkins/jenkins_install/workspace/E115_HUD/krogoth/build-xxxxx/tmp/deploy/images/imx6qsabresd/
cp /home/xxxxx/ljenkins/jenkins_install/workspace/xxxxx/krogoth/version/Release /home/xxxx/ljenkins/jenkins_install/workspace/xxxxxx/krogoth/build-xxxx/tmp/deploy/images/imx6qsabresd/
cd /home/xxxxx/ljenkins/jenkins_install/workspace/xxxxx/krogoth/build-xxxx/tmp/deploy/images/imx6qsabresd/
for file in ./*
do
FUB_LEN=${#file}
let FUB_DIR_LEN=FUB_LEN-4;
FUB_NAME=$(echo ${file:0-4})
if [ $FUB_NAME == ".fub" ]; then
FUB_DIR_NAME=$(echo ${file:0:$FUB_DIR_LEN})
mkdir -p $FUB_DIR_NAME
cp "xxxxx_base.xml" $FUB_DIR_NAME
cp "$FUB_DIR_NAME.fub" $FUB_DIR_NAME
cp "u-boot-sd-2016.03-r0.imx" $FUB_DIR_NAME
cp "u-boot-sd-2016.03-r0.img" $FUB_DIR_NAME
for mcufile in ./*
do
MCU_NAME=$(echo ${mcufile:0-4})
if [ $MCU_NAME == ".mcu" ] && [ $mcufile != "xxxxx.mcu" ]; then
cp $mcufile $FUB_DIR_NAME
fi
done
fi
done
AUTO_GENERATE='/generate/a\''版本发布:'"$FUB_DIR_NAME.fub"
sed "$AUTO_GENERATE" Release > ReleaseNote
cp ReleaseNote $FUB_DIR_NAME
DATE_DIR=$(echo ${FUB_DIR_NAME: 0-14: 14})
TAR_NAME=$(echo ${FUB_DIR_NAME: 2})
zip "$TAR_NAME.fub.zip" "$TAR_NAME.fub"
cp "$TAR_NAME.fub.zip" $FUB_DIR_NAME
cd $FUB_DIR_NAME
md5sum $FUB_DIR_NAME.fub >> md5code.txt
tar -cjvf ../"$FUB_DIR_NAME.tar.bz2" ./
cd ..
SMB_CMD="cd xxxxx;mkdir $DATE_DIR;cd $DATE_DIR;put $TAR_NAME.tar.bz2"
smbclient //192.168.xxx.xxx/release_projects -c "$SMB_CMD" -U osadmin%os123456
echo $SMB_CMD
#!/bin/bash
rm -rf /var/lib/jenkins/workspace/OS-Project/xxxx_Anonymous_new/krogoth/build-fb/tmp/deploy/images/imx6qsabresd/*
XML_DIR="xxx-XML-Anonymous"
cd ${XML_DIR}
./link_xml.sh
cd ../krogoth
DISTRO=fsl-imx-fb MACHINE=imx6qsabresd source fsl-setup-release.sh -b build-fb -e fb -c ../${XML_DIR}/xxx_v1_build.xml
bitbake -c cleanall xxx-hmi
bitbake -c cleanall xxx-mcu
bitbake -c cleanall boot-animation
bitbake -c cleanall imx6-vpu
bitbake -c cleanall qtmsg-deliver
bitbake -c cleanall linux-imx
bitbake -c cleanall u-boot-imx
bitbake -c cleanall xxx-image
bitbake xxx-image
cp ${JENKINS_HOME}/workspace/OS-Project/xxx_Anonymous_new/${XML_DIR}/xxx_v1_build.xml ${JENKINS_HOME}/workspace/OS-Project/xxx_Anonymous_new/krogoth/build-fb/tmp/deploy/images/imx6qsabresd/
cd ${JENKINS_HOME}/workspace/OS-Project/xxx_Anonymous_new/krogoth/build-fb/tmp/deploy/images/imx6qsabresd
for file in ./*
do
FUB_LEN=${#file}
let FUB_DIR_LEN=FUB_LEN-4;
FUB_NAME=$(echo ${file:0-4})
if [ $FUB_NAME == ".fub" ]; then
FUB_DIR_NAME=$(echo ${file:0:$FUB_DIR_LEN})
mkdir -p $FUB_DIR_NAME
cp "xxxx_build.xml" $FUB_DIR_NAME
cp "$FUB_DIR_NAME.rootfs.tar.bz2" $FUB_DIR_NAME
cp "$FUB_DIR_NAME.fub" $FUB_DIR_NAME
cp "SPL-sd-2016.03-r0" $FUB_DIR_NAME
cp "u-boot-sd-2016.03-r0.imx" $FUB_DIR_NAME
cp "u-boot-sd-2016.03-r0.img" $FUB_DIR_NAME
cp "bootlogo.bin" $FUB_DIR_NAME
for mcufile in ./*
do
MCU_NAME=$(echo ${mcufile:0-4})
if [ $MCU_NAME == ".mcu" ] && [ $mcufile != "xxx.mcu" ]; then
cp $mcufile $FUB_DIR_NAME
fi
done
fi
done
cd $FUB_DIR_NAME
md5sum $FUB_DIR_NAME.fub >> md5code.txt
tar -cjvf ../"$FUB_DIR_NAME.tar.bz2" ./
|