jenkins api token

jenkins api token Jenkins REST API提供了API token,使得可以在程序中使用API token进行认证 (而不是使用你真实的密码) 。 API token可以在用户个人设置界面查看 到用户→用户id→设置页面,在API Token区域点击Show API token按钮,便可查看API token,同时还可以更改API token 相应的URL是http://<JENKINS_URL>/user//configure 取编译结果 BUILD_STATUS=$(curl -k -user user0:jenkins_token_0 -silent ${BUILD_URL}api/json | jq -r ‘.result’) https://cloud.tencent.com/developer/article/1415887 https://stackoverflow.com/questions/22264431/getting-a-jobs-build-status-as-post-build-variable

2020-03-22 · 1 min · 32 words · -

dpkg

dpkg Ubuntu 查看软件包是否安装 # 显示包含此软件包的所有位置 dpkg -S softwarename # -s status, 查看软件包状态 dpkg -s <package-name> # 可以加通配符* dpkg-query -l <package-name> # 列出软件包的位置, 安装路径 dpkg -L <package-name> # 列出哪些软件包被安装 dpkg --get-selections | grep <package-name>* # 查看版本 dpkg -l softwarename debian install deb debian install deb package deb 包 deb 包是debian,ubuntu等LINUX发行版的软件安装包,是类似于rpm的软件包,而非debian,ubuntu系统不推荐使用deb软件包,因为要解决软件包依赖问题,安装也比较麻烦。 安装方法有两种: 一般在此类发行版中可以直接双击安装。 手动安装。如果您喜欢使用终端,您需要管理员权限来安装一个 .deb 文件。 sudo dpkg -i foo.deb 但是在包含有依赖关系的安装包手动安装的过程中会出现安装不成功的问题,这时只需输入命令: sudo apt-get -f install 待命令执行完成,软件也就安装成功了。 卸载安装包时,在终端中,输入:sudo dpkg -r package_name ...

2020-03-22 · 1 min · 78 words · -

maven输出版本到文件

maven输出版本到文件 https://stackoverflow.com/questions/3532135/using-maven-to-output-the-version-number-to-a-text-file Create a text file somewhere in src/main/resources, call it version.txt (or whatever) File content: ${project.version} now in your pom.xml, inside the build element, put this block: <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/version.txt</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <filtering>false</filtering> <excludes> <exclude>**/version.txt</exclude> </excludes> </resource> ... </resources> </build>

2020-03-22 · 1 min · 47 words · -

字节序 大端 小端

‘字节序 大端 小端’ 大端字节序 (big endian) 和小端字节序 (little endian) 。 什么会有小端字节序? 答案是,计算机电路先处理低位字节,效率比较高,因为计算都是从低位开始的。所以,计算机的内部处理都是小端字节序。 但是,人类还是习惯读写大端字节序。所以,除了计算机的内部处理,其他的场合几乎都是大端字节序,比如网络传输和文件储存。 计算机处理字节序的时候,不知道什么是高位字节,什么是低位字节。它只知道按顺序读取字节,先读第一个字节,再读第二个字节。 如果是大端字节序,先读到的就是高位字节,后读到的就是低位字节。小端字节序正好相反。 理解这一点,才能理解计算机如何处理字节序。 字节序,顾名思义字节的顺序,就是大于一个字节类型的数据在内存中的存放顺序(一个字节的数据当然就无需谈顺序的问题了)。 字节序分为两类: Big-Endian 和 Little-Endian,引用标准的 Big-Endian 和 Little-Endian 的定义如下: Little-Endian: 就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。 Big-Endian: 就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。 网络字节序: TCP/IP各层协议将字节序定义为 Big-Endian (这与主机序相反) ,因此TCP/IP协议中使用的字节序通常称之为网络字节序。 示例 举例来说,数值0x2211使用两个字节储存: 高位字节是0x22,低位字节是0x11。 大端字节序: 高位字节在前,低位字节在后,这是人类读写数值的方法。 小端字节序: 低位字节在前,高位字节在后,即以0x1122形式储存。 比特序 比特序(bit order) 字节序是一个对象中的多个字节之间的顺序问题,比特序就是一个字节中的8个比特位(bit)之间的顺序问题。一般情况下系统的比特序和字节序是保持一致的。 一个字节由8个bit组成,这8个bit也存在如何排序的情况,跟字节序类似的有最高有效比特位、最低有效比特位。 比特序1 0 0 1 0 0 1 0在大端系统中最高有效比特位为1、最低有效比特位为0,字节的值为0x92。在小端系统中最高、最低有效比特位则相反为0、1,字节的值为0x49。 跟字节序类似,要想保持一个字节值不变那么就要使系统能正确的识别最高、最低有效比特位。 字节序转换函数ntohl(s)、htonl(s) 在socket编程中经常要用到网络字节序转换函数ntohl、htonl来进行主机序和网络序(大端序)的转换,在主机序为小端的系统中字节序列78 56 34 12(val=0x12345678)经过htonl转换后字节序列变成12 34 56 78: 版权声明: 本文为CSDN博主「NoneSec」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接: https://blog.csdn.net/liuxingen/java/article/details/45420455 https://www.ruanyifeng.com/blog/2016/11/byte-order.html https://blog.erratasec.com/2016/11/how-to-teach-endian.html#.XnB-KHVfjmE

2020-03-19 · 1 min · 71 words · -

Java RESTful 框架

Java RESTful 框架 RESTEasy + Netty RESTEasy + Undertow https://colobu.com/2015/11/17/Jax-RS-Performance-Comparison/

2020-03-18 · 1 min · 10 words · -

git-am

git-am https://blog.csdn.net/mliubing2532/article/details/7577905 这篇文章主要介绍一下git-am 和 format-patch 的使用。 因为在git使用当中,会有很多时候别人 (供应商或者其他的开发人员) 发过来一系列的patch,这些patch通常的是类似这样的名字: 0001-JFFS2-community-fix-with-not-use-OOB.patch 0002-Community-patch-for-Fix-mount-error-in.patch 0003-partial-low-interrupt-latency-mode-for-ARM113.patch 0004-for-the-global-I-cache-invalidation-ARM11.patch 0005-1-arm-Add-more-cache-memory-types-macr.patch 0006-2-Port-imx-3.3.0-release-to-2.6.28.patch 0007-3-Add-MX25-support.patch 0008-Move-asm-arch-headers-to-linux-inc-dir.patch 0009-1-regulator-allow-search-by-regulator.patch 里面包含了提交的日志,作者,日期等信息。你想做的是把这些patch引入到你的代码库中,最好是也可以把日志也引入进来, 方便以后维护用。传统的打patch方式是 patch -p1 < 0001-JFFS2-community-fix-with-not-use-OOB.patch 这样来打patch,但是这样会把这些有用的信息丢失。由于这些patch显然是用git format-patch来生成的,所以用git的工具应该就可以很好的做好。git-am 就是作这件事情。 在使用git-am之前, 你要首先git am –abort 一次,来放弃掉以前的am信息,这样才可以进行一次全新的am。 不然会遇到这样的错误。 .git/rebase-apply still exists but mbox given. git-am 可以一次合并一个文件,或者一个目录下所有的patch,或者你的邮箱目录下的patch. 下面举两个例子: 你现在有一个code base: small-src, 你的patch文件放在~/patch/0001-trival-patch.patch cd small-src git-am ~/patch/0001-trival-patch.patch 如果成功patch上去, 你就可以去喝杯茶了。如果失败了, git 会提示错误, 比如: error: patch failed: android/mediascanner.cpp:452 error: android/mediascanner.cpp: patch does not apply 这样你就需要先看看patch, 然后改改错误的这个文件,让这个patch能够patch上去。 你有一堆patch, 名字是上面提到的那一堆patch, 你把他们放在~/patch-set/目录下 (路径随意) ...

2020-03-17 · 2 min · 252 words · -

umask

umask umask 值用于设置用户在创建文件时的默认权限,当我们在系统中创建目录或文件时,目录或文件所具有的默认权限就是由 umask 值决定的。 对于 root用户,系统默认的umask值是0022;对于普通用户,系统默认的umask值是0002。执行umask命令可以查看当前用户的umask值。 umask # > 0022 umask 值一共有4组数字,其中第1组数字用于定义特殊权限,我们一般不予考虑,与一般权限有关的是后3组数字。 https://www.cnblogs.com/wish123/p/7073114.html

2020-03-15 · 1 min · 14 words · -

nexus docker repo

nexus 配置太复杂 用 https://hub.docker.com/_/registry 作为 docker registry wiloon.com/docker/registry docker hosted repo create repository select recipe: docker (hosted) name: docker-repo-0 HTTP: 5001, 仓库单独的访问端口(例如:5001) allow anonymous: yes Docker Registry API Support> Enable Docker V1 API> Allow clients to use the V1 API to interact with this repository: yes Hosted> Deployment policy: Allow redeploy nexus docker proxy Name: dockerhub-proxy Remote storage 配置成 https://registry-1.docker.io Docker Index 选择 Use Docker Hub 保存 创建一个 Docker Group Repository 勾选 : HTTP, Create an HTTP connector at specified port. Normally used if the server is behind a secure proxy 并填写端口 8083 ...

2020-03-14 · 1 min · 139 words · -

nexus go proxy

nexus go proxy nexus: 3.21.1 remote storage: https://goproxy.cn 勾选 Use certificates stored in the Nexus truststore to connect to external system save 401 unauthorized 问题 Administration> Security>Anonymous Access 勾选 Allow anonymous users to access the server

2020-03-14 · 1 min · 36 words · -

chromeos Secure Shell App remove known host

chromeos Secure Shell App remove known host https://medium.com/code-kings/secure-shell-removing-known-host-by-index-when-changing-ip-address-18ed4161763c 打开 Secure Shell App 打开开发者工具 Ctrl+Shift+J 在Console中执行 term_.command.removeKnownHostByIndex(YOUR_INDEX_NUMBER_HERE);

2020-03-14 · 1 min · 16 words · -

开源镜像站, open source mirror

开源镜像站, open source mirror 清华 https://mirrors.tuna.tsinghua.edu.cn/ 华为 https://mirrors.huaweicloud.com/ 中科大 https://mirrors.ustc.edu.cn/help/dockerhub.html aliyun https://developer.aliyun.com/mirror/ 北京外国语大学开源软件镜像站 https://mirrors.bfsu.edu.cn/ http://mirrors.cqu.edu.cn http://mirrors.nju.edu.cn http://ftp.sjtu.edu.cn http://mirrors.bupt.edu.cn http://mirrors.cn99.com http://mirrors.bfsu.edu.cn http://mirrors.njupt.edu.cn

2020-03-13 · 1 min · 21 words · -

django

django python manage.py startapp hello pytest-django runserver python manage.py runserver 0.0.0.0:1234 这个命令会启动两个进程 user0 542872 542712 2 16:47 pts/0 00:00:00 python manage.py runserver 0.0.0.0:1234 user0 543984 542872 8 16:47 pts/0 00:00:01 /path/to/venv-36/bin/python manage.py runserver 0.0.0.0:8888 本地修改代码之后第一个进程不变, 第二个进程会重启并应用新的代码

2020-03-11 · 1 min · 36 words · -

linux ping 时间戳

linux ping 时间戳 ping 192.168.2.1 -c 10 | awk '{ print $0"\t" strftime("%H:%M:%S",systime()) } '

2020-03-10 · 1 min · 15 words · -

java 模块系统, Jigsaw

java 模块系统, Jigsaw Java9 之前的版本 .class 文件是 JVM 看到的最小可执行文件,而一个大型程序需要编写很多 Class,并生成一堆 .class 文件,不便于管理,所以,jar 文件就是 class 文件的容器。 在 Java9 之前,一个大型 Java 程序会生成自己的 jar 文件,同时引用依赖的第三方 jar 文件,而 JVM 自带的 Java 标准库,实际上也是以 jar 文件形式存放的,这个文件叫 rt.jar,一共有 60 多 M。 如果是自己开发的程序,除了一个自己的 app.jar 以外,还需要一堆第三方的 jar 包,运行一个 Java 程序,一般来说,命令行写这样: java -cp app.jar:a.jar:b.jar:c.jar com.liaoxuefeng.sample.Main jar 只是用于存放 class 的容器,它并不关心 class 之间的依赖。 从 Java9 开始,原有的 Java 标准库已经由一个单一巨大的 rt.jar 分拆成了几十个模块,这些模块以 .jmod 扩展名标识,可以在 $JAVA_HOME/jmods 目录下找到它们: java.base.jmod java.compiler.jmod java.datatransfer.jmod java.desktop.jmod ... 这些.jmod文件每一个都是一个模块,模块名就是文件名 如果把 Java 8 比作单体应用,那么引入模块系统之后,从 Java 9 开始,Java 就华丽的转身为微服务。模块系统,项目代号 Jigsaw,最早于 2008 年 8 月提出(比 Martin Fowler 提出微服务还早 6 年),2014 年跟随 Java 9 正式进入开发阶段,最终跟随 Java 9 发布于 2017 年 9 月。 ...

2020-03-08 · 4 min · 756 words · -

java commands

java commands java -cp -class-path classpath, -classpath classpath, or -cp classpath https://blog.csdn.net/shixiaoguo90/article/details/50607716

2020-03-08 · 1 min · 12 words · -

golang 排序

golang 排序 Go 的排序思路和 C 和 C++ 有些差别。 C 默认是对数组进行排序, C++ 是对一个序列进行排序, Go 则更宽泛一些,待排序的可以是任何对象, 虽然很多情况下是一个 slice (分片, 类似于数组),或是包含 slice 的一个对象。 排序(接口)的三个要素: 待排序元素个数 n ; 第 i 和第 j 个元素的比较函数 cmp ; 第 i 和 第 j 个元素的交换 swap ; 乍一看条件 3 是多余的, c 和 c++ 都不提供 swap 。 c 的 qsort 的用法: qsort(data, n, sizeof(int), cmp_int); data 是起始地址, n 是元素个数, sizeof(int) 是每个元素的大小, cmp_int 是一个比较两个 int 的函数。 c++ 的 sort 的用法: sort(data, data+n, cmp_int); data 是第一个元素的位置, data+n 是最后一个元素的下一个位置, cmp_int 是比较函数。 ...

2020-03-04 · 1 min · 159 words · -

golang read docx

golang read docx https://github.com/unidoc/unioffice

2020-03-03 · 1 min · 4 words · -

Maven Dependency Version 依赖版本自动升级

Maven Dependency Version 依赖版本自动升级 [1.15.0,2.0.0) x>=1.15.0 && x<2.0.0 依赖调节是为了解决版本不一致的问题(multiple versions),并采取就近原则(nearest definition)。 举例来说,A项目通过依赖传递依赖了两个版本的D: A -> B -> C -> ( D 2.0 ) , A -> E -> ( D 1.0 ) 复制代码那么最终A依赖的D的version将会是1.0,因为1.0对应的层级更少,也就是更近。 除了我们常用的1.1.0,在声明依赖版本的时候,可以通过表达式灵活地配置版本号。 例如配置jar包x的标签支持如下几种语法: 1.0: 推荐依赖版本,此版本号可能会被覆盖。 复制代码还可以控制依赖的版本范围: (,1.0]: x <= 1.0 [1.2,1.3]: 1.2 <= x <= 1.3 [1.0,2.0): 1.0 <= x < 2.0 [1.5,): x >= 1.5 复制代码同时声明多个版本范围也是可以的,只要用逗号分隔即可: (,1.0],[1.2,): x <= 1.0 或者 x >= 1.2 ...

2020-03-03 · 1 min · 83 words · -

各种胎压,气压 – 小米充气宝

各种胎压,气压 – 小米充气宝 小米平衡车 plus 轮胎标注 35 psi = 2.413bar 官网建议 45~50 Psi 小宝的皮球 19 psi 有点硬下次试试 15 psi 高尔夫 2.5 bar = 36.26psi

2020-03-01 · 1 min · 24 words · -

firewall 防火墙

firewall 防火墙 device 物理设备 context 物理设备上的虚拟防火墙, 类似于虚拟机的概念 每个 context 可以被看作是一个独立的防火墙实例。每个 context 拥有自己的配置文件、策略和规则集,使得单个物理设备能够同时作为多个独立的防火墙进行操作。 VRF VRF(Virtual Routing and Forwarding) VRF 和 Context 是独立的概念 VRF 是一种在同一物理设备上创建多个虚拟路由表的方法,使得不同的网络流量可以在相同的物理接口上保持逻辑隔离。VRF 主要用于以下场景: 多租户环境:在服务提供商或大型企业网络中,VRF 允许不同的客户或部门共享相同的物理网络设备而保持独立的路由表。 安全隔离:VRF 可以将不同的业务流量在逻辑上隔离开,确保不同业务之间的安全性和隐私性。 灵活性和可扩展性:通过使用 VRF,可以在不增加额外硬件的情况下,灵活地管理和扩展网络。

2020-03-01 · 1 min · 30 words · -