首页 文章 精选 留言 我的

精选列表

搜索[诊断自动化],共10000篇文章
优秀的个人博客,低调大师

使用Jenkins对接Github进行自动化CI

Jenkins Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 Jenkins在 Docker hub 上有官方镜像和社区镜像, 根据官方描述,Jenkins的镜像已经由社区接管维护,镜像为jenkinsci/jenkins,所以这次的集成就用这个社区版的Jenkins。 Docker 信息 ~ docker version Client: Version: 18.03.1-ce API version: 1.37 Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:20:16 2018 OS/Arch: linux/amd64 Experimental: false Orchestrator: swarm Server: Engine: Version: 18.03.1-ce API version: 1.37 (minimum version 1.12) Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:23:58 2018 OS/Arch: linux/amd64 Experimental: false 配置Jenkins的compose.yml文件 因为我的docker已经进行了swarm集群处理,所以可以用docker compose写配置,然后一键运行。 docker-compose.yml version: '3' services: jenkinsContainer: image: jenkins/jenkins:lts ports: - 8080:8080 - 3000:5000 volumes: - "./jenkins_home:/var/jenkins_home" deploy: mode: replicated replicas: 1 restart_policy: condition: on-failure delay: 5s max_attempts: 3 update_config: parallelism: 1 delay: 10s placement: constraints: - node.role == manager 说明 image: jenkins/jenkins:lts, 使用最新的社区版本的jenkins; ports: 8080:8080是浏览器端控制jenkins对应的端口,使用时,用ip:port即可,3000:5000是你要通过JNLP进行从节点构建的时候用的,在本次配置中并没有用到; volumes: "./jenkins_home:/var/jenkins_home",将jenkins的配置存放在本地,防止重启后重新初始化jenkins,该文件可以自己创建,也可由Docker在运行时创建。 deploy: 这是和swarm集群部署相关的,就不细细讲了。 因为部署需要执行如下一行代码 docker stack deploy --compose-file=docker-compose.yml jenkins 防止每次重启都要键入,特地的,我们创建一个deploy脚本,加入可执行权限,每次执行这个脚本即可 echo "docker stack deploy --compose-file=docker-compose.yml jenkins" > deploy chmod +x ./deploy 执行后的目录如下 Jenkins tree -L 1 . ├── deploy ├── docker-compose.yml └── jenkins_home 1 directory, 2 files 部署 执行如下命令即可 ./deploy Creating network jenkins_default Creating service jenkins_jenkinsContainer 安装Jenkins 浏览器端打开ip:8080,在这我的地址为47.95.247.xxx:8080,端口后面切记不要加/jenkins, 这是Jenkins的bug,不然你的页面在登录后就会出错。 登录密码获取 进入运行的容器中,打印 docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c12c47c804ba jenkins/jenkins:lts "/sbin/tini -- /usr/…" 3 minutes ago Up 3 minutes 8080/tcp, 50000/tcp jenkins_jenkinsContainer.1.ntkjvt6u4kxjyvprc0rdrif05 docker exec -it c12c47c804ba /bin/bash cat /var/lib/jenkins/secrets/initialAdminPassword XXXXXXXXXXXXXXXXXXXXXX # 这就是密码 docker logs,使用docker logs 查看安装日志,密码也是在安装日志中的 docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c12c47c804ba jenkins/jenkins:lts "/sbin/tini -- /usr/…" 3 minutes ago Up 3 minutes 8080/tcp, 50000/tcp jenkins_jenkinsContainer.1.ntkjvt6u4kxjyvprc0rdrif05 docker logs -f c12c47c804ba XXXXXXXXXXXXXXXXXXXXXX # 这就是密码 输入密码后,选择推荐的安装,安装时间比较长,可以喝一杯茶或者咖啡去。安装好自动进入主页。 配置Jenkins 使之和GitHub进行交互的基础环境 全局工具配置 git:主要提供git操作,如拉去代码。 node: 为我们的前端项目打包提供基础运行环境。 里面的内容都可以选择配置,我们选择nodejs 11这个版本。配置完毕选择应用即可。 系统设置 系统设置主要设置jenkins的地址和系统管理员的邮箱地址,还有与github之间的通信,要让github接受到push等命令触发CI/CD,就涉及到这块。 Jenkins Location GitHub 添加GitHub Server 并填写名称 在https://github.com/settings/tokens/new上生成token,需要的权限就三个,而且repo:status在repo中,所以可以不选,下图是所需要求, 在GitHub上生成Token之后,copy该Token, 在Jenkins 凭据提供者: Jenkins页面中的类型中选择Secret text, Secret中粘贴GitHub生成的Token,id和描述可以随便填写。 点击添加后,回到主页面,在凭据中选择刚才创建的凭据,点击连接测试,若不成功,返回重新操作以上步骤,点击下面的应用或保存完成配置。 至此,基础配置完成。 添加测试项目 在首页添加新任务,选择自由风格的项目 选择GitHub,键入要构建项目地址的主页地址,注意不是git资源地址 源码管理配置 构建触发器 构建环境 构建,选择执行shell,键入如图中的shell 点击应用,保存,至此,完成GitHub项目在Jenkins的设置。 配置webhook 只有Jenkins和GitHub配置了相同的webhook,才能通信,才能达到开发者向GitHub push代码的时候Jenkins 才能收到ton通知进行后面的CI/CD。 进入系统管理/系统配置,定位到GitHub配置项,点击底部的高级按钮,键入协议://Jenkins地址(IP:Port)/自定义名称。 在GitHub上打开你项目的setting页面,进入webHooks页面,点击右上角的 Add webhook,进入页面执行如下 运行 在本地或者github上修改文件,对其进行push, Jenkins会收到通知,然后运行程序进行打包。 打开刚才创建的任务,进入详情,可以看到收到的GitHub push的消息。 Jenkins开始构建 构建成功的效果 总结 遇到问题还是要慢慢解决滴。在此做个总结。

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

Selenium + Python + Chrome 自动化测试 环境搭建

一、下载Python 相关的教程很多,此处不详细记录了,下面是官网下载地址: https://www.python.org/downloads/ 我使用的python版本为 Python 3.6.1 注意:下载完成后配置python和pip的环境变量 二、下载Selenium 如果环境变量配置成功,在命令提示符下输入以下指令即可安装 pip install -U selenium 出现 Successfully 表示下载成功 三、下载对应驱动 官网(需要科学上网): https://sites.google.com/a/chromium.org/chromedriver/downloads 第三方: https://npm.taobao.org/mirrors/chromedriver 下载后放至 "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe" 并添加环境变量 四、运行Python # -*- coding: utf-8 -*- from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get('http://www.baidu.com') 注意:此处运行后我报了有关driver的错误,理论上应该配了环境变量就可以了,但是配置了还是有错,最后的方法是将下载的driver放到与python文件相同的目录下 成功运行后可以自动打开百度的首页,就代表环境配置成功啦!

资源下载

更多资源
Mario

Mario

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

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册