首页 文章 精选 留言 我的

精选列表

搜索[自动化工具],共10011篇文章
优秀的个人博客,低调大师

jenkins docker springcloud 自动化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/80632522 由于公司要做微服务所以我对jenkins docker springcloud如何集成起来做自动部署做了一些研究,这里写出来也算是结自己一个总结,同时也希望能帮助到其他人。 我这里环境如下: Contos7 64 jdk-8u144-linux-x64.tar.gz jenkins.war 2.78 docker gitlab maven git 因为jenkins是java 编写的所以需要安装jdk安装步骤很简单这大概也就是一步: 进入jdk的目录 cd /usr/local 我这里是/usr/local这个目录 查看目录下文件 ls -il 解压jdktar zxvf jdk-8u144-linux-x64.tar.gz 配置jdk 编辑profile 文件加入jdk 环境变量 vim /etc/profile export JAVA_HOME=/usr/local/jdk1.8.0_144export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin 使用source命令使配置生效 source/etc/profile 这时我们来执行 java -version 出现下面这个就说明配置成功了。 接下来我们就可以安装jenkins了首选需要下载jenkins 下载地址 http://updates.jenkins-ci.org/download/war/ 下载后将jenkins.war上传到 /usr/local 到jenkins.war 目录下 执行 java -jar jenkins.war 或者是 java -jar httpPort=8080(这里可以指定怎么想指定的端口) jenkins.war jenkins 默认是8080 因为liunx 系统没有开放8080端口所以要开放8080端口firewall-cmd --add-port=8080/tcp --permanent 重新加载防火墙配置 firewall-cmd --reload 这时在浏览器访问 http://ip:8080 就可以看到 这是jenkins为我们自动生成的一个密钥 这个密钥可以在控制台找到 当然也可以去 这个目录下找到/root/.jenkins/secrets/initialAdminPassword这里我们到控制台去找 将这个密钥复制到文本框 点击Continue 就可以看到这个页面 这里这们选择推荐(install suggested plugins)这时可以看到已经在安装插件 安装完成后需要创建一个管理员账户 填写完成后点击 Save and finish 当进入下面这个页面后jenkins就算是安装完成了 docker 的安装我这里是安官网的安装这里就不做请说明。请参考官网 https://docs.docker.com/engine/installation/linux/docker-ce/centos/#install-using-the-repository maven 安装 首先要下载一上maven 的安装文件 使用wget下载 wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz 下载完成后解压 maven :tar zxvf apache-maven-3.5.0-bin.tar.gz 配置MAVEN_HONE 环境变量 编辑 vim /etc/profile 加入下面这两句 export MAVEN_HOME=/usr/local/apache-maven-3.5.0export PATH=$PATH:$MAVEN_HOME/bin 配置生效 source /etc/profile 执行mvn -version 看到如果图说明配置成功 配置阿里云的maven repository 进入 maven conf目录下 cd /usr/local/apache-maven-3.5.0/conf 编辑settings.xml加入阿里云的maven仓库 vimsettings.xml <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> 安装git yum install -y git 安装完成执行 git --version 接下来进入主题来构建我们的第一个项目 1.在jenkins中创建一个新任务 2.构建一个自由风格的软件项目 3.配置项目构建信息 1)配置git 2)配置git web hook 安装 gitlab hook plugin 系统管理 -> 插件管理 -> 可选插件 -> 搜索 gitlab hook plugin -> 选中安装 首先说明我这里用的是私有的gitlab 如果你的机器可以公网访问那么你可以使用github 或 码云 。搭建私有gitlab请看 http://www.imooc.com/article/17128?block_id=tuijian_wz 进入点击generate生成一个token 复制 http://192.168.189.139:8080/project/microservice-discovery 进入 gitlab Settings -> Integrations -> 添加url和 token 3)配置构建环境 maven构建 增加构建步骤 -> invoker top-level-Maven targets 构建命令 clean package shell 脚本 增加构建步骤 -> Execute shell 构建前我们需要设置一下docker 的regitry通过不安全的http访问 地址以及阿里云加速器 vim /usr/lib/systemd/system/docker.service 加入如下 --registry-mirror=https://aj2rgad5.mirror.aliyuncs.com --insecure-registry 192.168.189.133:5000 完成已上步骤我们点构建就可以构建我们的项目了 从下图中可以看到已经开始在构建 构建完成后我们访问http://192.168.189.139:8761就可以看到springcloud eureak的管理页了 构建脚本如下: #!/bin/bash REGISTRY_URL=192.168.189.133:5000 WORK_DIR=/root/work_build PROJECT_NAME=microservice-provider PROJECT_VERSION=0.0.1 if [ ! -e ${WORK_DIR}/${PROJECT_NAME} ] && [ ! -d ${WORK_DIR}/${PROJECT_NAME} ]; then mkdir -p ${WORK_DIR}/${PROJECT_NAME} echo "Create Dir: ${WORK_DIR}/${PROJECT_NAME}" fi if [ -e ${WORK_DIR}/${PROJECT_NAME}/Dockerfile ]; then rm -rf ${WORK_DIR}/${PROJECT_NAME}/Dockerfile echo "Remove File: ${WORK_DIR}/${PROJECT_NAME}/Dockerfile" fi cp ./Dockerfile ${WORK_DIR}/${PROJECT_NAME}/ cp ./target/*.jar ${WORK_DIR}/${PROJECT_NAME}/ cd ${WORK_DIR}/${PROJECT_NAME}/ docker build -t ${REGISTRY_URL}/microservice/${PROJECT_NAME}:${PROJECT_VERSION} . docker push ${REGISTRY_URL}/microservice/${PROJECT_NAME}:${PROJECT_VERSION} if docker ps -a | grep ${PROJECT_NAME}; then docker rm -f ${PROJECT_NAME} echo "Remove Docker Container: ${PROJECT_NAME}" fi docker run -d -p 8761:8761 --name ${PROJECT_NAME} ${REGISTRY_URL}/microservice/${PROJECT_NAME}:${PROJECT_VERSION}

优秀的个人博客,低调大师

Spring自动化装配bean

阅读目录 1. 场景 2. 架构图示 3. 代码 回到顶部 1. 场景 用CD(Compact disc)和CD播放器(CDPlayer)阐述DI(依赖注入)。 如果不将CD插入(注入)到CDPlayer中,那么CDPlayer其实没有太大的用处,所以,可以这样说:CDPlayer依赖于CD才能完成它的使命。 回到顶部 2. 架构图示 回到顶部 3. 代码 接口: CompactDisc.java package soundsystem; public interface CompactDisc { void play(); } 接口: MediaPlayer.java package soundsystem; public interface MediaPlayer { void play(); } SgtPeppers.java package soundsystem; import org.springframework.stereotype.Component; @Component public class SgtPeppers implements CompactDisc { private String title = "Sgt. Pepper's Lonely Hearts Club Band"; private String artist = "The Beatles"; @Override public void play() { System.out.println("Playing " + title + " by " + artist); } } 注:SgtPeppers类上使用了@Component注解。这个简单的注解表明该类会作为组件类,并告知Spring要为这个类创建bean CDPlayer.java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class CDPlayer implements MediaPlayer { private CompactDisc cd; @Autowired public CDPlayer(CompactDisc cd) { this.cd = cd; } @Override public void play() { cd.play(); } } 不过,组件扫描默认是不启用的,我们还需显式配置一下Spring,从而命令它去寻找带有@Component注解的类,并未其创建bean。下例中使用了@ComponentScan注解,这个注解能够在Spring中启用组件扫描。如没有其他配置,@ComponentScan默认会扫描与配置类相同的包:soundsystem CDPlayerConfig.java package soundsystem; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @Configuration @ComponentScan public class CDPlayerConfig { } 测试CDPlayerTest.java package soundsystem; import static org.junit.Assert.*; import org.junit.Test; import org.junit.contrib.java.lang.system.StandardOutputStreamLog; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes=CDPlayerConfig.class) public class CDPlayerTest { @Autowired private MediaPlayer player; @Autowired private CompactDisc cd; @Test public void cdShouldNotBeNull() { assertNotNull(cd); } @Test public void play() { player.play(); } } 自动装配就是让Spring自动满足bean依赖的一种方法,在满足依赖的过程中,会在Spring应用的上下文中寻找匹配某个bean需求的其他bean。为了声明要进行自动装配,我们借助Spring的@Autowired注解。 上述代码中,在构造器中添加了@Autowised注解,这表明当Spring创建CDPlayer bean的时候,会通过这个构造器来进行实例化,并传入一个可设置为CompactDisc类的bean,在上面的代码中,SgtPeppers被声明为组件,并实现了CompactDisc接口。因此,在实际运行中会把SgtPeppers作为实例化类。 本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/6942296.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android robotium自动化测试

Robotium是一款测试AndroidApp的测试框架,它使得编写黑盒测试代码更加容易和稳定。它其实是对android自带测试类Instrumentation的一个封装,方便于测试人员直接调用封装好的接口。通过使用Robotium,测试用例开发人员能够跨越多个Activity,开发出功能,系统以及验收测试用例。如果你能够拿到代码,你可以直接进行白盒测试,比如assert一下当前的activity,操作的结果对不对等等,都可以验证。官方例子: http://code.g...m/p/robotium/ 下面的以测试Android自带的NotePad源代码为例: 首先创建一个Android Project,选择Create Project form existing source,选择F:\android-sdk-windows\samples\android-8\NotePad 接下来创建Android Test Project 导入 robotium-solo-2.5.jar(可到官方例子下载,上边的链接),编写自动测试脚本如下: 下面是详细的测试内容: 附上截图的功能: 有时textview或者button的click方法会失效,解决方法是在被测程序的配置文件AndroidManifest.xml文件里加上这么一句: <supports-screens android:anyDensity="true"/>就行了。如果要想在robotium的测试程序里读写SD 卡,可以被测程序的AndroidManifest.xml文件里加上 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>。 注意是在被测程序里加上。 本文转自06peng 51CTO博客,原文链接:http://blog.51cto.com/06peng/962867,如需转载请自行联系原作者

优秀的个人博客,低调大师

RPA机器人CI/CD:自动化流程也需要自动化部署

去年冬天,我帮一家中型制造企业做RPA流程改造。当时他们已经用传统方式部署了三十多个机器人,负责订单录入、库存对账、报表生成这些重复性工作。项目上线三个月,问题开始集中爆发:开发环境跑得好好的流程,到生产环境就报错;某个网页改版后,十几个机器人的元素定位全部失效;最要命的是,每次更新都要运维同事一台机器一台机器地手动替换脚本,光是发版就折腾到凌晨两点。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册