ci

POJ 2083

十年热恋 提交于 2020-03-12 08:17:38
# include <cstdio> # include <iostream> # include <algorithm> # include <cmath> # include <vector> # include <set> # include <cstring> # include <sstream> # include <map> # include <stack> # include <queue> # include <ctime> # include <cstdlib> using namespace std ; char Answer [ 730 ] [ 730 ] ; char getAnswer ( int n , int ci , int cj ) ; void fill_ ( int n , int ci , int cj ) { if ( n == 1 ) { Answer [ ci ] [ cj ] = 'X' ; return ; } getAnswer ( n , ci , cj ) ; } char getAnswer ( int n , int ci , int cj ) { int len = pow ( 3 , n - 2 ) ; fill_ ( n - 1 , ci , cj ) ; //左 fill_ ( n - 1 , ci , cj

使用 Kubernetes 和 Jenkins 创建一个 CI/CD 流水线

天大地大妈咪最大 提交于 2020-03-11 10:21:08
本文首发于: Jenkins 中文社区 原文链接 作者:Mohamed Ahmed 译者:s1mple_zj 文章主要说明了关于 CI/CD 的知识,通过实验结合 Jenkins,Ansible,Kubernetes 将应用程序部署到 k8s 上。 CI/CD 尝试解决什么问题? CI/CD 同 DevOps、Agile、Scrum、Kanban、自动化以及其他术语一样,是一个一起被经常提及的专用术语。有时候,它被当做工作流的一部分,但是并没有搞清楚这是什么或者为什么它会被采用。对于年轻的 DevOps 工程师来说,使用 CI/CD 理所当然已经成为了常态,可能他们并没有看到“传统”的软件发布流程而因此不欣赏 CI/CD。 CI/CD 表示持续集成/持续交付和/或部署。如果一个团队不接入 CI/CD 流程就必须要在产生一个新的软件产品时经历如下的阶段: 产品经理(代表了客户利益)提供了产品需要有的功能以及产品需要遵从的行为。文档必须要越详实越好。 具有业务分析能力的开发人员开始对应用进行编码,执行单元测试,然后将结果提交到版本控制系统(例如 git)。 一旦开发阶段完成,项目移交到 QA。对产品进行多轮测试,比如用户验收测试,集成测试,性能测试。在此期间,直到 QA 阶段完成之前都不会有任何代码上的改动。如果有任何 bug 被发现,需要回退给开发人员做修改,然后再将产品移交给 QA

gitlab上加速运行Django项目测试代码

戏子无情 提交于 2020-03-10 10:46:20
项目环境: python 3.6 Django 1.11 Coverage 5.0 减少测试代码运行时间的方法: 把单一的管道改为多管道并行,最后合并测试结果 减少数据库迁移的次数 具体做法: 1、把测试代码拆分成四部分,分别放在不同的文件夹 配置文件.gitlab.yml参考: stages: - test - result Part_one: stage: test script: - if [ ! - d "~/ $CI_RUNNER_DESCRIPTION /env" ] ; then mkdir - p ~ / $CI_RUNNER_DESCRIPTION / env ; fi - if [ ! - d "~/ $CI_RUNNER_DESCRIPTION /env/ $CI_PROJECT_NAME " ] ; then cd ~ / $CI_RUNNER_DESCRIPTION / env / && python3 - m venv $CI_PROJECT_NAME ; fi - source ~ / $CI_RUNNER_DESCRIPTION / env / $CI_PROJECT_NAME / bin / activate - pip install -- trusted - host mirrors . aliyun . com - i http: / /

GitOps入门与实践:如何集成Git和K8S?

放肆的年华 提交于 2020-03-09 20:02:42
也许你之前听说过GitOps,但是对其并不了解。在本文中,我将对其进行简单介绍,它其实是一个应用程序开发和管理中的一个术语,其核心思想是将应用系统的声明性基础架构和应用程序存放在Git的版本控制库中。我们将介绍GitOps是什么,它将如何影响组织以及如何与Kubernetes保持同步。 什么是GitOps GitOps是一种实现持续交付的模型,利用Git开发工具对云原生应用程序进行操作和管理。当将应用程序部署到Kubernetes时,Git应该是唯一的事实来源。当开发人员更改应用程序时,Git将自动把它们push到Kubernetes进行部署。而且,如果Kubernetes内的运行状态发生变化但与Git内的状态不一致,则它们会从Git内恢复到已知状态。 GitOps与CI/CD:它们之间有什么联系? GitOps和CI/CD是十分重要的工作伙伴。CI/CD可以让开发人员持续迭代、开发和部署应用程序。而迭代通常通过一个Git配置仓库进行(尽管也会有其他配置仓库)。在部署/交付阶段,构建的基于容器的应用程序被“push”到Kubernetes进行部署。GitOps会通过Kubernetes使用“pull”的方法来增强CI/CD模型,从而将运维层面带入部署/交付中。 但是,如果有人更改了Kubernetes集群中运行的某些内容,会发生什么?我们将使用Git作为声明性部署工具的主要事实来源

GitOps入门与实践:如何集成Git和K8S?

痞子三分冷 提交于 2020-03-09 19:49:01
也许你之前听说过GitOps,但是对其并不了解。在本文中,我将对其进行简单介绍,它其实是一个应用程序开发和管理中的一个术语,其核心思想是将应用系统的声明性基础架构和应用程序存放在Git的版本控制库中。我们将介绍GitOps是什么,它将如何影响组织以及如何与Kubernetes保持同步。 什么是GitOps GitOps是一种实现持续交付的模型,利用Git开发工具对云原生应用程序进行操作和管理。当将应用程序部署到Kubernetes时,Git应该是唯一的事实来源。当开发人员更改应用程序时,Git将自动把它们push到Kubernetes进行部署。而且,如果Kubernetes内的运行状态发生变化但与Git内的状态不一致,则它们会从Git内恢复到已知状态。 GitOps与CI/CD:它们之间有什么联系? GitOps和CI/CD是十分重要的工作伙伴。CI/CD可以让开发人员持续迭代、开发和部署应用程序。而迭代通常通过一个Git配置仓库进行(尽管也会有其他配置仓库)。在部署/交付阶段,构建的基于容器的应用程序被“push”到Kubernetes进行部署。GitOps会通过Kubernetes使用“pull”的方法来增强CI/CD模型,从而将运维层面带入部署/交付中。 但是,如果有人更改了Kubernetes集群中运行的某些内容,会发生什么?我们将使用Git作为声明性部署工具的主要事实来源

使用Python Requests伪装成浏览器请求百度360获取关键词批量排名

五迷三道 提交于 2020-03-08 22:56:12
#!/usr/local/python/bin/python3.7 import requests,re,time,random,string #error='360搜索_访问异常出错' #360 error="location.href.replace" #baidu url=["www.a.com", "www.b.com"] #你要查询的网址,可以是多个 uaList = ['Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36'] with open('a.txt','r') as f: #查询的关键词保存在同一目录下a. txt c=list(f.readlines()) for i in c: ci=(i.rstrip("\n")) u=' https://www.baidu.com/s?wd={}'.format(ci ) #u=' https://so.com/s?&q=

CI框架删除路径上的index.php

南楼画角 提交于 2020-03-05 16:38:11
通过编辑器在ci框架的index.php(根目录)创建一个.htaccess的文件 让后将下面代码复制到刚创建的文件中保存即可 1 <IfModule mod_rewrite.c> 2 <IfModule mod_negotiation.c> 3 Options -MultiViews -Indexes 4 </IfModule> 5 6 RewriteEngine On 7 8 # Handle Authorization Header 9 RewriteCond %{HTTP:Authorization} . 10 RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 12 # Redirect Trailing Slashes If Not A Folder... 13 RewriteCond %{REQUEST_FILENAME} !-d 14 RewriteCond %{REQUEST_URI} (.+)/$ 15 RewriteRule ^ %1 [L,R=301] 16 17 # Handle Front Controller... 18 RewriteCond %{REQUEST_FILENAME} !-d 19 RewriteCond %{REQUEST_FILENAME} !-f 20

Jenkins(附带详细教程,转)

寵の児 提交于 2020-03-03 16:45:48
功能 编辑 Jenkins功能包括: 1、持续的软件版本发布/测试项目。 2、监控外部调用执行的工作。 启动 编辑 首先保证系统中已经安装了jdk,最好是jdk1.5以上。 第一种启动方法,切换到jenkins.war存放的目录,输入如下命令: $ java -jar jenkins.war 如果需要修改端口可以使用如下命令: $ java -jar jenkins.jar--httpPort=8081 然后在 浏览器 中(推荐用 火狐 )输入localhost:8081,localhost可以是本机的ip,也可以是计算机名。就可以打开jenkins。 第二种方法是用 tomcat 打开 解压tomcat到某个目录,如/usr/local,进入tomcat下的/bin目录,启动tomcat 将jenkins.war文件放入tomcat下的webapps目录下,启动tomcat时,会自动在webapps目录下建立jenkins目录,在地址栏上需要输入localhost:8080/jenkins。 Jenkins详细教程 链接: https://www.jianshu.com/p/5f671aca2b5a 一、jenkins是什么? Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目

ubuntu安装redis的方法以及PHP安装redis扩展、CI框架sess使用redis的方法

跟風遠走 提交于 2020-03-02 18:22:07
再一次被网上那些教程误导后决定自己写一个。真心被那些奇怪的教程误导了好几次,之前研究其它东西的时候也是。蛋疼啊。 安装redis 直接用apt-get命令即可 sudo apt-get install redis-server 安装的时候会询问你一个东西,输入Y就行。 安装完后会自动启动redis的服务,可以通过下面命令来查看进程是否已经启动。 ps -aux|grep redis 然后检查下redis服务的状态,看看是不是runing。 redis-server is running 安装PHP扩展 使用apt-get就可以安装了 sudo apt-get install php5-redis 然后重启下apache service apache restart CI的session中使用redis存储 在CI 3.0(2.0是不支持用redis存储session)的application\config\config.php中的两个配置改成下面这样 $config['sess_driver'] = 'redis'; $config['sess_save_path'] = 'tcp://127.0.0.1:6379'; 来源: oschina 链接: https://my.oschina.net/u/1860083/blog/468825

mysql的collation

拥有回忆 提交于 2020-03-02 03:02:28
mysql的collation大致的意思就是字符序。首先字符本来是不分大小的,那么对字符的>, = , < 操作就需要有个字符序的规则。collation做的就是这个事情,你可以对表进行字符序的设置,也可以单独对某个字段进行字符序的设置。一个字符类型,它的字符序有多个,比如: 下面是UTF8对应的字符序。 utf8_general_ci utf8 33 Yes Yes 1 utf8_bin utf8 83 Yes 1 utf8_unicode_ci utf8 192 Yes 8 utf8_icelandic_ci utf8 193 Yes 8 utf8_latvian_ci utf8 194 Yes 8 utf8_romanian_ci utf8 195 Yes 8 utf8_slovenian_ci utf8 196 Yes 8 utf8_polish_ci utf8 197 Yes 8 utf8_estonian_ci utf8 198 Yes 8 utf8_spanish_ci utf8 199 Yes 8 utf8_swedish_ci utf8 200 Yes 8 utf8_turkish_ci utf8 201 Yes 8 utf8_czech_ci utf8 202 Yes 8 utf8_danish_ci utf8 203 Yes 8 utf8_lithuanian