2023-03-18
2行代码就能实现HTML自动化转图片!

我们构建组除了负责bk-ci插件开发,还负责监控使用构建平台的所有项目的打包流水线、质量检查流水线的执行情况。

最初,这些都是让实习生来手动查看质量流水线的执行情况、再做表,跟进、然后手动发到群里。

今年中,我在研究了bk-ci的API后,已经将其改为自动抓取和生成报表,但仅作为参考。 报表使用Velocity模版引擎生成,是一个HTML文件,然后通过邮件发送。

不过邮件的实效性并不强,有时候会积累很多封邮件,也不知处理了没有。

阅读全文
 2023-03-18
区分gradle三个不同层次的依赖

Gradle是一个非常灵活、强大的构建系统,但其概念也相对复杂,但只要抓住核心,做好区分,就不会觉得混乱。

下面的构建脚本,是否觉得难以理解:

buildscript {
    构建脚本依赖的仓库
    repositories {
        mavenCentral()
    }
    // 构建脚本依赖
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.0'
    }
}
repositories {
    mavenCentral()
    jcenter()
    google()
}
dependencies {
    implementation 'com.google.guava:guava:30.1-jre'
    testImplementation 'junit:junit:4.13.2'
}  
plugins {
      id 'com.android.application'
      id 'org.jetbrains.kotlin.jvm' version '1.5.10'
}

阅读全文
 2023-03-12
Invalid cookie header Invalid 'expires' attribute

当请求URL返回的cookie中expires为如下格式时,

Expires=Mon, 26 Apr 2021 14:34:27 GMT

报错:

Invalid 'expires' attribute: Mon, 26 Apr 2021 14:34:27 GMT

按网上说法修改CookiePolicyCookieSpec,实际都无效果。这是因为使用的httpclient库并不支持这种新格式(定义于RFC 6265)。

可以使用Apache HttpClient5解决此问题,此版本已支持最新格式。这是一个新版本,有不同的artifactId

Maven中使用如下方式引用依赖:

<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents.client5/httpclient5 -->
<dependency>
    <groupId>org.apache.httpcomponents.client5</groupId>
    <artifactId>httpclient5</artifactId>
    <version>5.1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents.client5/httpclient5-fluent -->
<dependency>
    <groupId>org.apache.httpcomponents.client5</groupId>
    <artifactId>httpclient5-fluent</artifactId>
    <version>5.1.3</version>
</dependency>

阅读全文
 2023-03-11
不打开编辑器配置UE4 Android NDK SDK和JDK

为什么不打开编辑器呢?

因为构建机GPU配置太差了,打不开……

这里介绍个直接修改UE4配置文件的方法。

BaseEngine.ini中,设置如下变量即可:

[/Script/AndroidPlatformEditor.AndroidSDKSettings]
SDKAPILevel=latest
NDKAPILevel=android-21
SDKPath=(Path="D:/Android/SDK")
NDKPath=(Path="D:/Android/NDK")
JavaPath=(Path="D:/Android/OpenJDK")

特别注意JDK路径的KeyJavaPath,而非官方文档上写的JDKPath,我这里使用的为UE4.27,测试可用。

阅读全文
 2023-03-09
找不到sun.misc.BASE64Encoder类报错原因及修复方法

调用apktool工具签名apk时遇到sun/misc/BASE64Encoder报错。

是因为此类只在jdk1.8之前的版本存在,jdk9以后的版本,就不存在了。

检查环境的JDK版本为11,所以会报错。

解决办法也明了,安装JDK8。

这里介绍个Windows 10下一键安装JDK8的方法,直接cmd窗口执行以下命令即可:

winget install AdoptOpenJDK.OpenJDK.8

安装后,JDK位于C:\Program Files\AdoptOpenJDK\jdk-8.0.292.10-hotspot

阅读全文
 2023-02-26
gradle构建涉及的几个文件介绍

Ant只有build.xmlMaven只有pom.xml不同,使用gradle的项目一般有以下几个文件:

gradlew
gradlew.bat

build.gradle
gradle.properties

gradle/gradle-wrapper.jar
gradle/gradle-wrapper.properties

在调用顺序上,gradlew(Windows下为gradlew.bat)读取gradle.properties配置文件内容,然后执行build.gradle构建脚本,而build.gradle脚本可以从gradle.properties中读取属性值。此设计的好处是用户无需预先安装gradle到本地,gradlew脚本会自动下载。下文会详述。

阅读全文
 2023-02-25
kotlin、kotlin-plugin、gradle、kotlin-gradle-plugin关系

1、kotlin是基于JVM的编程语言,与Java类似,且可与Java互操作; 2、kotlin-plugin是IDEA和Android Studio的IDE(集成开发环境)支持插件; 3、gradle是构建工具,与AntMaven类似,用于代码到编译、测试、打包等; 4、kotlin-gradle-plugin是使用gradle构建kotlin项目必须添加的gradle插件。

下面详细介绍:

阅读全文
 2023-02-19
Gradle依赖使用最新版本

Gradle中配置依赖,如果不指定版本,是会报错找不到依赖的。 但如果依赖很多,还需要去仓库一个个看依赖库的最新版本是多少。

那么gradle是否支持直接使用依赖的最新版本呢? 答案是肯定的,不过在gradle的文档中并没有在显著位置标识。

方式就是在version处填加号+gradle就会去自动识别最新版本去下载。

全部指定最新版本后,再根据日志去解决个别依赖冲突报错,事半功倍。

阅读全文
 2023-02-18
.Net运行时分类

下载地址(LTS版本):Download .NET 6.0 (Linux, macOS, and Windows)

.NET运行时

只包含运行控制台应用的组件。需要另外安装ASP.NET Core运行时和 .NET Desktop运行时。

ASP.NET Core运行时

运行web/服务器应用。在Windows上推荐安装Hosting Bundle,包含了.net运行时和IIS支持。

.NET Desktop运行时

运行Windows桌面应用。包含了.net运行时,不需要再单独安装。

阅读全文
 2022-12-14
Gradle禁用daemon

gradle使用daemon相当于热启动,可以节省构建时间。但在持续集成环境下为了保证环境一致性,或避免daemon进程冲突,可以禁用deamon功能。

${HOME}/.gradle/gradle.properties文件中添加:

org.gradle.daemon=false

阅读全文
 2022-11-18
Visual Studio SVN插件

VisualSVN for Visual Studio

VisualSVN是一个专业级的 Visual Studio Subversion集成插件。

VisualSVN的主要优点是:

无与伦比的可靠性:Visual Studio永远不会因为VisualSVN崩溃或挂起。

无缝集成:可视化SVN自动处理添加或重命名文件,并将这些操作反映到Subversion。

实时状态:VisualSVN仔细跟踪并显示所有对当前工作副本所做的更改。

学习曲线短:VisualSVN利用TortoiseSVN对话框并提供了一个智能向导来将源码放入SVN。

访问官网下载:VisualSVN

阅读全文
 2022-09-19
GeForce Experience要登录才能使用,又总是注册不成功,绕过/禁用登录方法

按如下步骤操作:

  1. 使用Visual Studio Code打开C:\Program Files\NVIDIA Corporation\NVIDIA GeForce Experience\www\app.js

  2. 替换文本。开启正则匹配。将"choose"===\w\.nvActiveAuthView[\D]*\)\}替换为
    "choose"===this.nvActiveAuthView)};this.handleLoggedIn({sessionToken:"",userToken:"",user: {core:{displayName:"codefaq.cn",primaryEmailVerified: true}}});
    
  3. 重启GeForce Experience即可。

阅读全文
 2022-07-03
D-pad是什么?

方向键 (D-pad,directional pad的简称。) 是放置在箭头或十字设计中的一系列按钮,可提供四个方向的命令 - 上下左右或北南东西。

这种类型的物理接口控制在游戏设备和其他用途中非常流行,例如游戏控制手柄和电视遥控器。

阅读全文
 2022-06-10
临时和永久关闭selinux

1、临时关闭

执行命令setenforce 0临时关闭SELinux

2、永久关闭

a. 打开selinux配置文件

vi /etc/selinux/config

b. 找到SELINUX=enforcing,按i进入编辑模式,将参数修改为SELINUX=disabled

c. 修改完成后,按下键盘Esc键,输入命令:wq,保存并退出文件即可。

3、运行命令getenforce,验证SELinux状态为disabled,表明SELinux已关闭。

阅读全文
 2022-04-14
源码编译虚幻引擎(UE4/UE5)

1、下载源代码 2、如果下载的是压缩包,先解压缩,然后运行Setup.bat(Windows系统下) 该步骤会下载并安装很多依赖,该脚本支持多线程下载,建议使用多线程下载。从控制台执行命令,如:

setup.bat --threads=20

3、运行GenerateProjectFiles.bat来生成项目文件 4、双击UE4.sln(UE5.sln)使用Visual Studio打开项目 5、(重点)将解决方案配置设置为Development Editor,解决方案平台设置为Win64 6、右键单击UE4(UE5)目标并选择生成

UE4和UE5的编译方法相同。

阅读全文
 2022-04-07
Unity中使用资源的典型工作流程

包括:导入、创建、构建、分发、加载

Unity 中的资源工作流程

上图显示了在 Unity 中使用资源时的典型工作流程。每列代表一个单独的步骤,如下所述:

将资源导入Unity编辑器

使用Unity编辑器通过这些资源创建内容。

构建您的应用或游戏文件,以及可选的随附内容包

分发构建的文件,以便您的用户可以通过发布者或应用程序商店访问

根据您用户的行为以及您对内容进行分组和捆绑的方式,在运行时根据需要加载进一步更新。

阅读全文
 2022-03-03
Unity设置3D音效

1、在Audio Source设置Spatial Blend指为1;

2、在Audio Source3D Sound Settings中设置Min DistanceMax Distance

在最小距离内,音频源将以最大音量播放片段。在此距离之外,音量将减小,在最大距离,用户将不再听到音频。

阅读全文
 2022-02-26
Windows文件共享开启匿名访问

  1. 打开运行(快捷键Win+R),输入gpedit.msc,确定,打开本地组策略编辑器
  2. 打开:“本地计算机策略->计算机配置->Windows设置->安全设置->本地策略->用户权限分配”
    • 找到:“拒绝从网络访问这台计算机”,将列表中的“Guest”删除;
  3. 打开:“本地计算机策略->计算机配置->Windows设置->安全设置->本地策略->安全选项”;
    • 找到:“网络访问:本地帐户的共享和安全模型”,改为:“仅来宾 - 对本地用户进行身份验证,其身份为来宾”;
    • 找到:“网络访问:将 Everyone 权限应用于匿名用户”,改为:“已启用”;
    • 找到:“账户:来宾账户状态”,改为:“已启用”;
  4. 右键属性-共享选项卡-共享按钮,“选择要与其共享的用户”,添加“Guest”用户即可

阅读全文
 2022-02-24
Windows 10启用长路径支持

1、确保操作系统版本号大于14352

 * 操作系统的详细版本号可从“控制面板 - 管理工具 - 系统信息”中的“版本”中找到。

2、从运行窗口中打开Gpedit.msc

3、依次打开本地计算机策略 - 计算机配置 - 管理模板 - 系统 - 文件系统,找到启用 Win32 长路径设置为已启用

阅读全文
 2022-01-06
在Visual Studio中调试Unity的代码

1、 在 Unity > Preferences > External Tools中,将External Script Editor设置为Visual Studio(确保勾选了Editor Attaching选项

2、在Visual Studio中,根据希望停止调试器的代码行,设置断点。

3、在Visual Studio中,将代码编辑器连接到Unity Editor。

AttachToUnity

4、在Unity中进入播放模式。

详情参考官方文档:https://docs.unity3d.com/cn/2019.4/Manual/ManagedCodeDebugging.html

阅读全文
 2021-12-28
FTP的passive参数的作用

FTP的passive参数用于开启FTP被动模式。

那么,FTP的被动模式是什么意思,是不是还有主动模式(有),它们有什么区别呢?

简言之,被动模式传送数据是“客户端”连接到“服务器”的端口。主动模式传送数据时是“服务器”连接到“客户端”的端口。

FTP默认为主动模式(port模式)。

阅读全文
 2021-12-27
Visual Stuido中打开Unity工程脚本,方法无法跳转解决方法

原因是Unity项目未和使用的Visual Studio关联。

按如下步骤操作即可:

  1. 打开Unity项目
  2. 菜单栏选择Edit–>preferences
  3. 在弹出的窗口左边找到External Tools,选中
  4. 在右侧窗口找到External Scripts Editor,下拉框中修改,选中自己使用的Visual Studio版本
  5. 关闭设置窗口

此后不论是从Unity中打开项目,还是直接在资源管理器右键使用Visual Studio打开Unity项目,脚本方法都能正常跳转了。

阅读全文
 2021-05-09
国内免费的前端CSS、JS CDN加速网站

BOOTCDN:https://www.bootcdn.cn/

BootCDN是极兔云联合Bootstrap中文网共同支持并维护的前端开源项目免费CDN服务,致力于为Bootstrap、jQuery、React、Vue.js一样优秀的前端开源项目提供稳定、快速的免费 CDN 加速服务。BootCDN 所收录的开源项目主要同步于cdnjs开源项目仓库。

自2013年上线以来已经累计为近百万网站提供了稳定、可靠的免费 CDN 加速服务。

截至目前共收录了4060个前端开源项目。

阅读全文
 2021-04-24
Windows administrator用户没有管理员权限的解决方法

简言之,这是Windows的安全策略设置使得administrator的管理员权限需要批准。

可以按如下步骤修改这个策略:

  1. 按Windows+R键,打开“运行”(或者开始菜单上右键选择“运行”),然后输入“gpedit.msc”,就是打开组策略,这个在控制面板中也可以打开

  2. 在组策略里找到“计算机配置”-“Windows设置”-“安全设置”-“本地策略”-“安全选项”

  3. 在“安全选项”里找到“用户帐户控制-以管理员模式批准运行所有管理员”这项

  4. 禁用此选项

阅读全文
 2021-03-11
grep命令如何取或?

将关键字使用引号引住,再用或符号 分割即可。

有时候自然会想到用|,但是|在shell命令中又表示通道,可能就想不明白能不能用了。其实再进一步加上引号就能区分了。 如:

grep -E 'Start|Finish' <filename>  // 使用-E选项,过滤出文件中包含Start或者Finish的行
egrep 'Start|Finish' filename    // 使用egrep可以免去-E选项,默认支持

阅读全文
 2021-01-17
从git工作目录中删除未跟踪文件

1、背景

代码调试过程中,可能在当前git工作目录下添加许多文件,达到目的后希望恢复代码到初始状态。

makemake clean命令,mvnmvn clean命令,jekylljekyll clean命令。

那么git有没有git clean命令呢?

答案是肯定的!

git-clean - 从工作目录(working tree)中删除未跟踪的文件

2、git clean -n

这是git clean的dry-run模式。不会实际删除文件,只是会列出如果实际执行会删除的文件内容。 我们可以先执行这个命令将输出和预期进行对比。

3、git clean -df

清空工作目录的未跟踪文件。

4、高级用法

-e 选项可以根据表达式排除更多文件。

阅读全文
 2020-11-07
域名公安备案信息样式优化

1、下载公安图标

保存为gongan.png

2、上传到服务器

位置:/var/www/html/static/common/gongan.png

3、修改代码

修改文件:/var/www/html/views/default/global/footer.tpl.htm,插入到期望位置。

备案网站生成的代码中有一段为:

<img src="" style="float:left;"/>

src处填入图标路径:

<img src="static/common/gongan.png" style="float:left;"/>

4、样式优化

第一行代码为:

<div style="width:300px;margin:0 auto; padding:20px 0;">

备案信息通常放在网站底部,默认的样式上下间隔太大,不美观。可将padding:20px 0;删除。

5、设置小屏幕隐藏

小屏幕下访问网站会发现底部的备案信息很突兀,观察腾讯网手机版发现,其在手机访问时,并未显示此类信息。

我们也可以设置隐藏。

在第一行div增加class = "hidden-xs"即可。

6、注

修改是实时生效的,不需要重新加载配置或重启服务进程。

阅读全文
 2020-10-24
CentOS 7安装MariaDB

安装MariaDB

yum install mariadb-server

设置安全

mysql_secure_installation

连接数据库

mysql -u root -p

输入上一步设置的密码。

启动MariaDB

sudo systemctl start mariadb

查看MariaDB服务状态

systemctl status mariadb

停止MariaDB服务

systemctl stop mariadb

重启MariaDB服务

systemctl restart mariadb

本文首发在微信公众号“DevOps持续交付”上,公众号ID:devopscd,欢迎关注。

阅读全文
 2020-05-17
Jenkinsclient系列教程之查看基本信息(二)

配置好Jenkinsclient后,就可以通过命令来操作Jenkins了!

jenkinsclient的命令格式是:

jenkins GROUP | COMMAND

GROUP是指一组命令,比如job是一个组命令,它有以下命令:

jenkins job build   //构建任务
jenkins job copy    //复制任务
jenkins job create  //创建任务
jenkins job delete  //删除任务
jenkins job disable //禁用任务
jenkins job enable  //启用任务
jenkins job has     //查看任务是否已存在
jenkins job info    //显示任务信息
jenkins job ls      //显示任务列表
jenkins job rename  //重命名任务
jenkins job xml     //显示任务的config.xml内容

今天我们先不介绍组命令,先介绍第一层的COMMAND。这些命令基本用来查看各种信息。

1、彩蛋——APP模式

APP模式可以在独立窗口中操作Jenkins。体验就好像在操作APP一样。

命令:

jenkins app

视频演示:

阅读全文
 2020-05-17
Jenkinsclient系列教程之介绍与安装(一)

jenkinsclient简介

Jenkinsclient是一个功能强大的开源跨平台的Jenkins命令行客户端。提供类似Docker风格的命令行来让用户操作Jenkins。

Jenkinsclient使用Python语言编写,项目源码采用国产木兰开源许可证开源。你可在Gitee和Github上查看。

Gitee: https://gitee.com/hummerstudio/jenkinsclient

Github: https://github.com/hummerstudio/jenkinsclient

项目主页:https://pypi.org/project/jenkinsclient

阅读全文
 2020-04-20
自动化革命与DevOps

自动化是一个革命性的概念和技术。

初代自动化

第一代自动化是天地系统的自动化,即万物的生长。

天阳供能,地阴成形,古圣人察而用之。顺四时,因地宜,谓之无为。无为非不为,乃顺自然而为。

这一代的自动化,是天、地、人三要素。

天气,反映太阳能的供给强度和总量。天气之变,大分为四季,小分为二十四节气。地形,各有不同,故因地制宜;人,须在合适的天时地利处播种、浇水、施肥、投喂,如同与天地合奏,故谓之人和。

天地虽然已自动化,但对人而言,需要在合适的时间节点采取合适的行动,才能让万物按人类的意愿生长。

阅读全文
 2020-04-06
Jenkins插件更新中心地址修改工具,一键修改为国内镜像地址

Jenkins插件中心国内镜像

Jenkins拥有的1500+插件是其最宝贵的资源和特色,这些插件为Jenkins提供了强大的功能、灵活性以及与其他平台连接交互的能力。

然而最近一段时间以来,国内用户明显感觉到,Jenkins下载插件的速度非常慢,并且经常出现超时无法下载的情况。这个问题给国内用户带来了很大的困扰。

这主要是因为Jenkins开源社区的网络基础设施服务器都在国外。

2019年11月,Jenkins中文社区推出了国内镜像源地址。

该镜像源解决了其他镜像源一直存在的无法真正使用的问题,使得国内用户在下载插件时能充分发挥出宽带应有的速度。

阅读全文
 2020-03-31
如何使用Jenkins声明式流水线

Jenkins为您提供了两种开发管道代码的方式:脚本式和声明式。

脚本式流水线(也称为“传统”流水线)基于Groovy作为其特定于域的语言。 而声明式流水线提供了简化且更友好的语法,并带有用于定义它们的特定语句,而无需学习Groovy。

Jenkins的流水线插件版本2.5引入了对声明式流水线的支持。

在本文中,我们将介绍开发声明式流水线脚本的所有可用指令,这将清楚地说明其功能。

阅读全文
 2020-02-07
博客增加了新页面“参考书”

新页面:“参考书”

看过我的其他文章的朋友应该知道,我不太希望写一个碎片化的博客。详情大家可以看这篇文章

所以我特别希望能够把一些重要的,但被大多数人忽视的,甚至有多年行业经验的人可能不曾看过的官方参考书纳入到我的博客中来,为读者朋友们提供帮助。

经过一番努力,终于给博客增加了维基功能,我将之命名为“参考书”。

阅读全文
 2020-02-03
新年新形象,网站换了新主题!

之前的主题

本站之前使用的是官方的 Merlot 主题。代码库地址:https://github.com/pages-themes/merlot

在此基础上我修改了 CSS 对布局和样式等做了调整,但一直有一些痛点没有解决。

  1. 对移动设备访问不友好;尤其是头部 banner 和 h1~h4字体过大。
  2. 文章不能分类显示;
  3. 标签的展示和聚合能力很弱。

阅读全文
 2020-01-26
Jenkins 体系结构

缘起

假期因为疫情没有回家,呆在屋里闲来无事,对 Jenkins 进行一番更深入的了解,看了看 Jenkins 源码。

写在前面的话

平心而论,Jenkins 的官方文档,可以说是我见过的开源项目里最差的。

首先是混乱,不像其他的项目,有很统一的文档入口。

其次是内容不全,很难找到官方对 Jenkins 架构及使用细节的完整描述。

阅读全文
 2019-11-15
为什么人们会说“美丽的谎言”?

本文摘自我在知乎回答的问题

原问题标题:为什么很多大家都知道的”美丽的谎言”例如:”人之初,性本善”“人人生而平等”但社会主流还是鼓吹呢?

因为这是人类所期望的结果。

而思想决定行为,行为决定结果。

阅读全文
 2019-10-28
使用Git和Markdown写博客,体验很好!

这两天搭建、上线了这个博客,并开始把以前微信公众号写的一些文章以及平时写下的一些文字搬到上面来,感觉使用体验很好。

首先,使用Markdown低成本高质量地实现了文章的代码化

虽然技术原理上来讲,Markdown只是XMLHTML等之外的又一种标记语言。但Markdown的标记是如此地简洁,以至于不但能让文章拥有样式,并且源码几乎不影响阅读。

阅读全文
 2019-10-26
怎样使用GitHub Pages创建个人博客

本文涉及知识点:

  1. HTML5。HTML5HTML(超文本标记语言) 的最新标准。我们的示例网页是使用 HTML5 编写的。后续如果你想更好地理解使用的主题和进行主题自定义,也需要这方面的知识。

  2. CSS3。CSS3CSS 的最新标准。它用于控制网页样式和布局。后续如果你想更好地理解使用的主题和进行主题自定义,也需要这方面的知识。

阅读全文
 2019-08-14
Jenkins常见问题集锦(七)

问题31:有多个环境相同的节点,希望能够实现自动将任务分配到空闲节点上,能实现么?

参考:只需要将这些环境相同的节点配置同样的标签即可,任务指定这个标签作为运行节点,Jenkins就会自动选择空闲节点来执行任务。 Jenkins中的标签有分类、分组的意思,就像微信通讯录里的标签功能一样。不过设计的不太明显,不知道的话容易将其理解为唯一id来用。

问题32:Jenkins如何对接各种静态检查工具?

阅读全文
 2019-08-06
Jenkins——the thing which auto everything

Jenkins, 一无所有,无所不能

Jenkins,本质上讲,就是一个自动化服务器。

在Jenkins上创建一个任务,并进行配置,这个任务就可以以你希望的方式自动执行。阿基米德曾经说过:“给我一个支点,我就能撬起整个地球”。沃兹基硕德也说过:“给我一个Jenkins,我就能自动化一切”。

阅读全文
 2019-08-05
Jenkins常见问题集锦(四)

问题16:设置超时时间能够用Pipeline代码实现吗?

参考:可以。如以下代码,表示设置超时时间1小时,在流水线全局和阶段(stage)级别都可以设置:

options {
  timeout(time: 1, unit: 'HOURS')
}

问题17:有什么可以监控Jenkins配置变化的插件吗?

阅读全文
 2019-08-03
Jenkins常见问题集锦(三)

问题11:Pipeline脚本里怎么触发其他Jenkins任务?

参考:有一个build步骤,可以研究一下,支持同步或异步触发。

问题12:有没有方便的方法看Jenkins上当前安装的插件列表和版本?插件管理-已安装里可以看到,但是复制下来有多余的信息,不好处理。比如多了插件简介,复制到表格里还要手动一个个删除。

阅读全文
 2019-08-02
Jenkins常见问题集锦(二)

问题6:Blue Ocean和Jenkins是什么关系?

参考:通俗理解,Blue Ocean可以看作是Jenkins推出的新的UI界面,有更现代的外观和更好的交互。

当然最重要的还是对Jenkins 2.x推出的新的流水线任务类型的支持,可以清晰展示整个流水线(Pipeline)各个阶段(stage)的串并行关系和状态。

阅读全文
 2019-08-01
Jenkins常见问题集锦(一)

问题1:Jenkins和Docker怎么结合?

参考:Jenkins和Docker结合可以将容器作为Jenkins的slave节点,有很多优点。比如实现执行环境的统一,slave的自动创建和销毁,免去了人工维护环境的成本等。

问题2:写pipeline时,两个stage,第一个随机指定一台机器运行,第二个需要跟第一个在同一台机器上,有什么办法来做吗?

阅读全文
 2019-07-18
编程,是一件很文学的事儿!

提到编程,不管是行外人还是行内人,都会觉得是个很理性,很复杂,很讲逻辑的事情,和文学扯不上任何关系。

对于行外人来说,编程写的是一堆如同天书的乱码,一眼望去,密密麻麻。单词和符号混杂,放眼望去,一会等于号,一会逗号,一会分号,还有中括号、小括号、大括号……奇奇怪怪,看着都头大。即便不会编程,可能也听认识的朋友介绍过:编程,一个标点符号都不能写错!这么死板的东西,你说是文学?!

对于行内人来说,这些符号虽不再是无意义,但也会觉得整天不是在 if ...else...,就是 while...do...for...do...,处处可见逻辑判断,每天都要面对 bug。这么煞风景的东西,你说是文学?!

阅读全文
 2019-01-21
人生本无意义

人之起始,本是动物。生下来,活下去,复归尘土,就是一生。

没有什么特别的意义。只是人启了蒙,开了智,学会了思考。

环顾四周,俯仰天地时,人有了疑惑:人生的意义是什么?

阅读全文
 2019-07-18
编程,是一件很文学的事儿!

提到编程,不管是行外人还是行内人,都会觉得是个很理性,很复杂,很讲逻辑的事情,和文学扯不上任何关系。

对于行外人来说,编程写的是一堆如同天书的乱码,一眼望去,密密麻麻。单词和符号混杂,放眼望去,一会等于号,一会逗号,一会分号,还有中括号、小括号、大括号……奇奇怪怪,看着都头大。即便不会编程,可能也听认识的朋友介绍过:编程,一个标点符号都不能写错!这么死板的东西,你说是文学?!

对于行内人来说,这些符号虽不再是无意义,但也会觉得整天不是在 if ...else...,就是 while...do...for...do...,处处可见逻辑判断,每天都要面对 bug。这么煞风景的东西,你说是文学?!

阅读全文
 2019-01-21
人生本无意义

人之起始,本是动物。生下来,活下去,复归尘土,就是一生。

没有什么特别的意义。只是人启了蒙,开了智,学会了思考。

环顾四周,俯仰天地时,人有了疑惑:人生的意义是什么?

阅读全文
 2020-04-06
Jenkins插件更新中心地址修改工具,一键修改为国内镜像地址

Jenkins插件中心国内镜像

Jenkins拥有的1500+插件是其最宝贵的资源和特色,这些插件为Jenkins提供了强大的功能、灵活性以及与其他平台连接交互的能力。

然而最近一段时间以来,国内用户明显感觉到,Jenkins下载插件的速度非常慢,并且经常出现超时无法下载的情况。这个问题给国内用户带来了很大的困扰。

这主要是因为Jenkins开源社区的网络基础设施服务器都在国外。

2019年11月,Jenkins中文社区推出了国内镜像源地址。

该镜像源解决了其他镜像源一直存在的无法真正使用的问题,使得国内用户在下载插件时能充分发挥出宽带应有的速度。

阅读全文
 2020-01-26
Jenkins 体系结构

缘起

假期因为疫情没有回家,呆在屋里闲来无事,对 Jenkins 进行一番更深入的了解,看了看 Jenkins 源码。

写在前面的话

平心而论,Jenkins 的官方文档,可以说是我见过的开源项目里最差的。

首先是混乱,不像其他的项目,有很统一的文档入口。

其次是内容不全,很难找到官方对 Jenkins 架构及使用细节的完整描述。

阅读全文
 2019-08-14
Jenkins常见问题集锦(七)

问题31:有多个环境相同的节点,希望能够实现自动将任务分配到空闲节点上,能实现么?

参考:只需要将这些环境相同的节点配置同样的标签即可,任务指定这个标签作为运行节点,Jenkins就会自动选择空闲节点来执行任务。 Jenkins中的标签有分类、分组的意思,就像微信通讯录里的标签功能一样。不过设计的不太明显,不知道的话容易将其理解为唯一id来用。

问题32:Jenkins如何对接各种静态检查工具?

阅读全文
 2019-08-06
Jenkins——the thing which auto everything

Jenkins, 一无所有,无所不能

Jenkins,本质上讲,就是一个自动化服务器。

在Jenkins上创建一个任务,并进行配置,这个任务就可以以你希望的方式自动执行。阿基米德曾经说过:“给我一个支点,我就能撬起整个地球”。沃兹基硕德也说过:“给我一个Jenkins,我就能自动化一切”。

阅读全文
 2019-08-05
Jenkins常见问题集锦(四)

问题16:设置超时时间能够用Pipeline代码实现吗?

参考:可以。如以下代码,表示设置超时时间1小时,在流水线全局和阶段(stage)级别都可以设置:

options {
  timeout(time: 1, unit: 'HOURS')
}

问题17:有什么可以监控Jenkins配置变化的插件吗?

阅读全文
 2019-08-03
Jenkins常见问题集锦(三)

问题11:Pipeline脚本里怎么触发其他Jenkins任务?

参考:有一个build步骤,可以研究一下,支持同步或异步触发。

问题12:有没有方便的方法看Jenkins上当前安装的插件列表和版本?插件管理-已安装里可以看到,但是复制下来有多余的信息,不好处理。比如多了插件简介,复制到表格里还要手动一个个删除。

阅读全文
 2019-08-02
Jenkins常见问题集锦(二)

问题6:Blue Ocean和Jenkins是什么关系?

参考:通俗理解,Blue Ocean可以看作是Jenkins推出的新的UI界面,有更现代的外观和更好的交互。

当然最重要的还是对Jenkins 2.x推出的新的流水线任务类型的支持,可以清晰展示整个流水线(Pipeline)各个阶段(stage)的串并行关系和状态。

阅读全文
 2019-08-01
Jenkins常见问题集锦(一)

问题1:Jenkins和Docker怎么结合?

参考:Jenkins和Docker结合可以将容器作为Jenkins的slave节点,有很多优点。比如实现执行环境的统一,slave的自动创建和销毁,免去了人工维护环境的成本等。

问题2:写pipeline时,两个stage,第一个随机指定一台机器运行,第二个需要跟第一个在同一台机器上,有什么办法来做吗?

阅读全文
 2020-02-07
博客增加了新页面“参考书”

新页面:“参考书”

看过我的其他文章的朋友应该知道,我不太希望写一个碎片化的博客。详情大家可以看这篇文章

所以我特别希望能够把一些重要的,但被大多数人忽视的,甚至有多年行业经验的人可能不曾看过的官方参考书纳入到我的博客中来,为读者朋友们提供帮助。

经过一番努力,终于给博客增加了维基功能,我将之命名为“参考书”。

阅读全文
 2020-02-03
新年新形象,网站换了新主题!

之前的主题

本站之前使用的是官方的 Merlot 主题。代码库地址:https://github.com/pages-themes/merlot

在此基础上我修改了 CSS 对布局和样式等做了调整,但一直有一些痛点没有解决。

  1. 对移动设备访问不友好;尤其是头部 banner 和 h1~h4字体过大。
  2. 文章不能分类显示;
  3. 标签的展示和聚合能力很弱。

阅读全文
 2019-10-26
怎样使用GitHub Pages创建个人博客

本文涉及知识点:

  1. HTML5。HTML5HTML(超文本标记语言) 的最新标准。我们的示例网页是使用 HTML5 编写的。后续如果你想更好地理解使用的主题和进行主题自定义,也需要这方面的知识。

  2. CSS3。CSS3CSS 的最新标准。它用于控制网页样式和布局。后续如果你想更好地理解使用的主题和进行主题自定义,也需要这方面的知识。

阅读全文
 2020-02-07
博客增加了新页面“参考书”

新页面:“参考书”

看过我的其他文章的朋友应该知道,我不太希望写一个碎片化的博客。详情大家可以看这篇文章

所以我特别希望能够把一些重要的,但被大多数人忽视的,甚至有多年行业经验的人可能不曾看过的官方参考书纳入到我的博客中来,为读者朋友们提供帮助。

经过一番努力,终于给博客增加了维基功能,我将之命名为“参考书”。

阅读全文
 2020-02-03
新年新形象,网站换了新主题!

之前的主题

本站之前使用的是官方的 Merlot 主题。代码库地址:https://github.com/pages-themes/merlot

在此基础上我修改了 CSS 对布局和样式等做了调整,但一直有一些痛点没有解决。

  1. 对移动设备访问不友好;尤其是头部 banner 和 h1~h4字体过大。
  2. 文章不能分类显示;
  3. 标签的展示和聚合能力很弱。

阅读全文
 2019-10-26
怎样使用GitHub Pages创建个人博客

本文涉及知识点:

  1. HTML5。HTML5HTML(超文本标记语言) 的最新标准。我们的示例网页是使用 HTML5 编写的。后续如果你想更好地理解使用的主题和进行主题自定义,也需要这方面的知识。

  2. CSS3。CSS3CSS 的最新标准。它用于控制网页样式和布局。后续如果你想更好地理解使用的主题和进行主题自定义,也需要这方面的知识。

阅读全文
 2020-02-07
博客增加了新页面“参考书”

新页面:“参考书”

看过我的其他文章的朋友应该知道,我不太希望写一个碎片化的博客。详情大家可以看这篇文章

所以我特别希望能够把一些重要的,但被大多数人忽视的,甚至有多年行业经验的人可能不曾看过的官方参考书纳入到我的博客中来,为读者朋友们提供帮助。

经过一番努力,终于给博客增加了维基功能,我将之命名为“参考书”。

阅读全文
 2020-02-03
新年新形象,网站换了新主题!

之前的主题

本站之前使用的是官方的 Merlot 主题。代码库地址:https://github.com/pages-themes/merlot

在此基础上我修改了 CSS 对布局和样式等做了调整,但一直有一些痛点没有解决。

  1. 对移动设备访问不友好;尤其是头部 banner 和 h1~h4字体过大。
  2. 文章不能分类显示;
  3. 标签的展示和聚合能力很弱。

阅读全文
 2019-10-26
怎样使用GitHub Pages创建个人博客

本文涉及知识点:

  1. HTML5。HTML5HTML(超文本标记语言) 的最新标准。我们的示例网页是使用 HTML5 编写的。后续如果你想更好地理解使用的主题和进行主题自定义,也需要这方面的知识。

  2. CSS3。CSS3CSS 的最新标准。它用于控制网页样式和布局。后续如果你想更好地理解使用的主题和进行主题自定义,也需要这方面的知识。

阅读全文
 2019-11-15
为什么人们会说“美丽的谎言”?

本文摘自我在知乎回答的问题

原问题标题:为什么很多大家都知道的”美丽的谎言”例如:”人之初,性本善”“人人生而平等”但社会主流还是鼓吹呢?

因为这是人类所期望的结果。

而思想决定行为,行为决定结果。

阅读全文
 2019-10-28
使用Git和Markdown写博客,体验很好!

这两天搭建、上线了这个博客,并开始把以前微信公众号写的一些文章以及平时写下的一些文字搬到上面来,感觉使用体验很好。

首先,使用Markdown低成本高质量地实现了文章的代码化

虽然技术原理上来讲,Markdown只是XMLHTML等之外的又一种标记语言。但Markdown的标记是如此地简洁,以至于不但能让文章拥有样式,并且源码几乎不影响阅读。

阅读全文
 2020-05-17
Jenkinsclient系列教程之查看基本信息(二)

配置好Jenkinsclient后,就可以通过命令来操作Jenkins了!

jenkinsclient的命令格式是:

jenkins GROUP | COMMAND

GROUP是指一组命令,比如job是一个组命令,它有以下命令:

jenkins job build   //构建任务
jenkins job copy    //复制任务
jenkins job create  //创建任务
jenkins job delete  //删除任务
jenkins job disable //禁用任务
jenkins job enable  //启用任务
jenkins job has     //查看任务是否已存在
jenkins job info    //显示任务信息
jenkins job ls      //显示任务列表
jenkins job rename  //重命名任务
jenkins job xml     //显示任务的config.xml内容

今天我们先不介绍组命令,先介绍第一层的COMMAND。这些命令基本用来查看各种信息。

1、彩蛋——APP模式

APP模式可以在独立窗口中操作Jenkins。体验就好像在操作APP一样。

命令:

jenkins app

视频演示:

阅读全文
 2020-05-17
Jenkinsclient系列教程之介绍与安装(一)

jenkinsclient简介

Jenkinsclient是一个功能强大的开源跨平台的Jenkins命令行客户端。提供类似Docker风格的命令行来让用户操作Jenkins。

Jenkinsclient使用Python语言编写,项目源码采用国产木兰开源许可证开源。你可在Gitee和Github上查看。

Gitee: https://gitee.com/hummerstudio/jenkinsclient

Github: https://github.com/hummerstudio/jenkinsclient

项目主页:https://pypi.org/project/jenkinsclient

阅读全文
 2020-04-20
自动化革命与DevOps

自动化是一个革命性的概念和技术。

初代自动化

第一代自动化是天地系统的自动化,即万物的生长。

天阳供能,地阴成形,古圣人察而用之。顺四时,因地宜,谓之无为。无为非不为,乃顺自然而为。

这一代的自动化,是天、地、人三要素。

天气,反映太阳能的供给强度和总量。天气之变,大分为四季,小分为二十四节气。地形,各有不同,故因地制宜;人,须在合适的天时地利处播种、浇水、施肥、投喂,如同与天地合奏,故谓之人和。

天地虽然已自动化,但对人而言,需要在合适的时间节点采取合适的行动,才能让万物按人类的意愿生长。

阅读全文
 2020-10-24
CentOS 7安装MariaDB

安装MariaDB

yum install mariadb-server

设置安全

mysql_secure_installation

连接数据库

mysql -u root -p

输入上一步设置的密码。

启动MariaDB

sudo systemctl start mariadb

查看MariaDB服务状态

systemctl status mariadb

停止MariaDB服务

systemctl stop mariadb

重启MariaDB服务

systemctl restart mariadb

本文首发在微信公众号“DevOps持续交付”上,公众号ID:devopscd,欢迎关注。

阅读全文
 2020-11-07
域名公安备案信息样式优化

1、下载公安图标

保存为gongan.png

2、上传到服务器

位置:/var/www/html/static/common/gongan.png

3、修改代码

修改文件:/var/www/html/views/default/global/footer.tpl.htm,插入到期望位置。

备案网站生成的代码中有一段为:

<img src="" style="float:left;"/>

src处填入图标路径:

<img src="static/common/gongan.png" style="float:left;"/>

4、样式优化

第一行代码为:

<div style="width:300px;margin:0 auto; padding:20px 0;">

备案信息通常放在网站底部,默认的样式上下间隔太大,不美观。可将padding:20px 0;删除。

5、设置小屏幕隐藏

小屏幕下访问网站会发现底部的备案信息很突兀,观察腾讯网手机版发现,其在手机访问时,并未显示此类信息。

我们也可以设置隐藏。

在第一行div增加class = "hidden-xs"即可。

6、注

修改是实时生效的,不需要重新加载配置或重启服务进程。

阅读全文
 2021-01-17
从git工作目录中删除未跟踪文件

1、背景

代码调试过程中,可能在当前git工作目录下添加许多文件,达到目的后希望恢复代码到初始状态。

makemake clean命令,mvnmvn clean命令,jekylljekyll clean命令。

那么git有没有git clean命令呢?

答案是肯定的!

git-clean - 从工作目录(working tree)中删除未跟踪的文件

2、git clean -n

这是git clean的dry-run模式。不会实际删除文件,只是会列出如果实际执行会删除的文件内容。 我们可以先执行这个命令将输出和预期进行对比。

3、git clean -df

清空工作目录的未跟踪文件。

4、高级用法

-e 选项可以根据表达式排除更多文件。

阅读全文
 2021-03-11
grep命令如何取或?

将关键字使用引号引住,再用或符号 分割即可。

有时候自然会想到用|,但是|在shell命令中又表示通道,可能就想不明白能不能用了。其实再进一步加上引号就能区分了。 如:

grep -E 'Start|Finish' <filename>  // 使用-E选项,过滤出文件中包含Start或者Finish的行
egrep 'Start|Finish' filename    // 使用egrep可以免去-E选项,默认支持

阅读全文
 2022-04-07
Unity中使用资源的典型工作流程

包括:导入、创建、构建、分发、加载

Unity 中的资源工作流程

上图显示了在 Unity 中使用资源时的典型工作流程。每列代表一个单独的步骤,如下所述:

将资源导入Unity编辑器

使用Unity编辑器通过这些资源创建内容。

构建您的应用或游戏文件,以及可选的随附内容包

分发构建的文件,以便您的用户可以通过发布者或应用程序商店访问

根据您用户的行为以及您对内容进行分组和捆绑的方式,在运行时根据需要加载进一步更新。

阅读全文
 2022-03-03
Unity设置3D音效

1、在Audio Source设置Spatial Blend指为1;

2、在Audio Source3D Sound Settings中设置Min DistanceMax Distance

在最小距离内,音频源将以最大音量播放片段。在此距离之外,音量将减小,在最大距离,用户将不再听到音频。

阅读全文
 2022-01-06
在Visual Studio中调试Unity的代码

1、 在 Unity > Preferences > External Tools中,将External Script Editor设置为Visual Studio(确保勾选了Editor Attaching选项

2、在Visual Studio中,根据希望停止调试器的代码行,设置断点。

3、在Visual Studio中,将代码编辑器连接到Unity Editor。

AttachToUnity

4、在Unity中进入播放模式。

详情参考官方文档:https://docs.unity3d.com/cn/2019.4/Manual/ManagedCodeDebugging.html

阅读全文
 2021-12-27
Visual Stuido中打开Unity工程脚本,方法无法跳转解决方法

原因是Unity项目未和使用的Visual Studio关联。

按如下步骤操作即可:

  1. 打开Unity项目
  2. 菜单栏选择Edit–>preferences
  3. 在弹出的窗口左边找到External Tools,选中
  4. 在右侧窗口找到External Scripts Editor,下拉框中修改,选中自己使用的Visual Studio版本
  5. 关闭设置窗口

此后不论是从Unity中打开项目,还是直接在资源管理器右键使用Visual Studio打开Unity项目,脚本方法都能正常跳转了。

阅读全文
 2023-03-09
找不到sun.misc.BASE64Encoder类报错原因及修复方法

调用apktool工具签名apk时遇到sun/misc/BASE64Encoder报错。

是因为此类只在jdk1.8之前的版本存在,jdk9以后的版本,就不存在了。

检查环境的JDK版本为11,所以会报错。

解决办法也明了,安装JDK8。

这里介绍个Windows 10下一键安装JDK8的方法,直接cmd窗口执行以下命令即可:

winget install AdoptOpenJDK.OpenJDK.8

安装后,JDK位于C:\Program Files\AdoptOpenJDK\jdk-8.0.292.10-hotspot

阅读全文
 2022-02-26
Windows文件共享开启匿名访问

  1. 打开运行(快捷键Win+R),输入gpedit.msc,确定,打开本地组策略编辑器
  2. 打开:“本地计算机策略->计算机配置->Windows设置->安全设置->本地策略->用户权限分配”
    • 找到:“拒绝从网络访问这台计算机”,将列表中的“Guest”删除;
  3. 打开:“本地计算机策略->计算机配置->Windows设置->安全设置->本地策略->安全选项”;
    • 找到:“网络访问:本地帐户的共享和安全模型”,改为:“仅来宾 - 对本地用户进行身份验证,其身份为来宾”;
    • 找到:“网络访问:将 Everyone 权限应用于匿名用户”,改为:“已启用”;
    • 找到:“账户:来宾账户状态”,改为:“已启用”;
  4. 右键属性-共享选项卡-共享按钮,“选择要与其共享的用户”,添加“Guest”用户即可

阅读全文
 2022-02-24
Windows 10启用长路径支持

1、确保操作系统版本号大于14352

 * 操作系统的详细版本号可从“控制面板 - 管理工具 - 系统信息”中的“版本”中找到。

2、从运行窗口中打开Gpedit.msc

3、依次打开本地计算机策略 - 计算机配置 - 管理模板 - 系统 - 文件系统,找到启用 Win32 长路径设置为已启用

阅读全文
 2021-04-24
Windows administrator用户没有管理员权限的解决方法

简言之,这是Windows的安全策略设置使得administrator的管理员权限需要批准。

可以按如下步骤修改这个策略:

  1. 按Windows+R键,打开“运行”(或者开始菜单上右键选择“运行”),然后输入“gpedit.msc”,就是打开组策略,这个在控制面板中也可以打开

  2. 在组策略里找到“计算机配置”-“Windows设置”-“安全设置”-“本地策略”-“安全选项”

  3. 在“安全选项”里找到“用户帐户控制-以管理员模式批准运行所有管理员”这项

  4. 禁用此选项

阅读全文
 2023-03-12
Invalid cookie header Invalid 'expires' attribute

当请求URL返回的cookie中expires为如下格式时,

Expires=Mon, 26 Apr 2021 14:34:27 GMT

报错:

Invalid 'expires' attribute: Mon, 26 Apr 2021 14:34:27 GMT

按网上说法修改CookiePolicyCookieSpec,实际都无效果。这是因为使用的httpclient库并不支持这种新格式(定义于RFC 6265)。

可以使用Apache HttpClient5解决此问题,此版本已支持最新格式。这是一个新版本,有不同的artifactId

Maven中使用如下方式引用依赖:

<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents.client5/httpclient5 -->
<dependency>
    <groupId>org.apache.httpcomponents.client5</groupId>
    <artifactId>httpclient5</artifactId>
    <version>5.1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents.client5/httpclient5-fluent -->
<dependency>
    <groupId>org.apache.httpcomponents.client5</groupId>
    <artifactId>httpclient5-fluent</artifactId>
    <version>5.1.3</version>
</dependency>

阅读全文
 2021-05-09
国内免费的前端CSS、JS CDN加速网站

BOOTCDN:https://www.bootcdn.cn/

BootCDN是极兔云联合Bootstrap中文网共同支持并维护的前端开源项目免费CDN服务,致力于为Bootstrap、jQuery、React、Vue.js一样优秀的前端开源项目提供稳定、快速的免费 CDN 加速服务。BootCDN 所收录的开源项目主要同步于cdnjs开源项目仓库。

自2013年上线以来已经累计为近百万网站提供了稳定、可靠的免费 CDN 加速服务。

截至目前共收录了4060个前端开源项目。

阅读全文
 2021-12-28
FTP的passive参数的作用

FTP的passive参数用于开启FTP被动模式。

那么,FTP的被动模式是什么意思,是不是还有主动模式(有),它们有什么区别呢?

简言之,被动模式传送数据是“客户端”连接到“服务器”的端口。主动模式传送数据时是“服务器”连接到“客户端”的端口。

FTP默认为主动模式(port模式)。

阅读全文
 2023-03-11
不打开编辑器配置UE4 Android NDK SDK和JDK

为什么不打开编辑器呢?

因为构建机GPU配置太差了,打不开……

这里介绍个直接修改UE4配置文件的方法。

BaseEngine.ini中,设置如下变量即可:

[/Script/AndroidPlatformEditor.AndroidSDKSettings]
SDKAPILevel=latest
NDKAPILevel=android-21
SDKPath=(Path="D:/Android/SDK")
NDKPath=(Path="D:/Android/NDK")
JavaPath=(Path="D:/Android/OpenJDK")

特别注意JDK路径的KeyJavaPath,而非官方文档上写的JDKPath,我这里使用的为UE4.27,测试可用。

阅读全文
 2022-04-14
源码编译虚幻引擎(UE4/UE5)

1、下载源代码 2、如果下载的是压缩包,先解压缩,然后运行Setup.bat(Windows系统下) 该步骤会下载并安装很多依赖,该脚本支持多线程下载,建议使用多线程下载。从控制台执行命令,如:

setup.bat --threads=20

3、运行GenerateProjectFiles.bat来生成项目文件 4、双击UE4.sln(UE5.sln)使用Visual Studio打开项目 5、(重点)将解决方案配置设置为Development Editor,解决方案平台设置为Win64 6、右键单击UE4(UE5)目标并选择生成

UE4和UE5的编译方法相同。

阅读全文
 2022-06-10
临时和永久关闭selinux

1、临时关闭

执行命令setenforce 0临时关闭SELinux

2、永久关闭

a. 打开selinux配置文件

vi /etc/selinux/config

b. 找到SELINUX=enforcing,按i进入编辑模式,将参数修改为SELINUX=disabled

c. 修改完成后,按下键盘Esc键,输入命令:wq,保存并退出文件即可。

3、运行命令getenforce,验证SELinux状态为disabled,表明SELinux已关闭。

阅读全文
 2022-07-03
D-pad是什么?

方向键 (D-pad,directional pad的简称。) 是放置在箭头或十字设计中的一系列按钮,可提供四个方向的命令 - 上下左右或北南东西。

这种类型的物理接口控制在游戏设备和其他用途中非常流行,例如游戏控制手柄和电视遥控器。

阅读全文
 2022-09-19
GeForce Experience要登录才能使用,又总是注册不成功,绕过/禁用登录方法

按如下步骤操作:

  1. 使用Visual Studio Code打开C:\Program Files\NVIDIA Corporation\NVIDIA GeForce Experience\www\app.js

  2. 替换文本。开启正则匹配。将"choose"===\w\.nvActiveAuthView[\D]*\)\}替换为
    "choose"===this.nvActiveAuthView)};this.handleLoggedIn({sessionToken:"",userToken:"",user: {core:{displayName:"codefaq.cn",primaryEmailVerified: true}}});
    
  3. 重启GeForce Experience即可。

阅读全文
 2022-11-18
Visual Studio SVN插件

VisualSVN for Visual Studio

VisualSVN是一个专业级的 Visual Studio Subversion集成插件。

VisualSVN的主要优点是:

无与伦比的可靠性:Visual Studio永远不会因为VisualSVN崩溃或挂起。

无缝集成:可视化SVN自动处理添加或重命名文件,并将这些操作反映到Subversion。

实时状态:VisualSVN仔细跟踪并显示所有对当前工作副本所做的更改。

学习曲线短:VisualSVN利用TortoiseSVN对话框并提供了一个智能向导来将源码放入SVN。

访问官网下载:VisualSVN

阅读全文
 2023-02-26
gradle构建涉及的几个文件介绍

Ant只有build.xmlMaven只有pom.xml不同,使用gradle的项目一般有以下几个文件:

gradlew
gradlew.bat

build.gradle
gradle.properties

gradle/gradle-wrapper.jar
gradle/gradle-wrapper.properties

在调用顺序上,gradlew(Windows下为gradlew.bat)读取gradle.properties配置文件内容,然后执行build.gradle构建脚本,而build.gradle脚本可以从gradle.properties中读取属性值。此设计的好处是用户无需预先安装gradle到本地,gradlew脚本会自动下载。下文会详述。

阅读全文
 2023-02-25
kotlin、kotlin-plugin、gradle、kotlin-gradle-plugin关系

1、kotlin是基于JVM的编程语言,与Java类似,且可与Java互操作; 2、kotlin-plugin是IDEA和Android Studio的IDE(集成开发环境)支持插件; 3、gradle是构建工具,与AntMaven类似,用于代码到编译、测试、打包等; 4、kotlin-gradle-plugin是使用gradle构建kotlin项目必须添加的gradle插件。

下面详细介绍:

阅读全文
 2023-02-19
Gradle依赖使用最新版本

Gradle中配置依赖,如果不指定版本,是会报错找不到依赖的。 但如果依赖很多,还需要去仓库一个个看依赖库的最新版本是多少。

那么gradle是否支持直接使用依赖的最新版本呢? 答案是肯定的,不过在gradle的文档中并没有在显著位置标识。

方式就是在version处填加号+gradle就会去自动识别最新版本去下载。

全部指定最新版本后,再根据日志去解决个别依赖冲突报错,事半功倍。

阅读全文
 2022-12-14
Gradle禁用daemon

gradle使用daemon相当于热启动,可以节省构建时间。但在持续集成环境下为了保证环境一致性,或避免daemon进程冲突,可以禁用deamon功能。

${HOME}/.gradle/gradle.properties文件中添加:

org.gradle.daemon=false

阅读全文
 2023-02-18
.Net运行时分类

下载地址(LTS版本):Download .NET 6.0 (Linux, macOS, and Windows)

.NET运行时

只包含运行控制台应用的组件。需要另外安装ASP.NET Core运行时和 .NET Desktop运行时。

ASP.NET Core运行时

运行web/服务器应用。在Windows上推荐安装Hosting Bundle,包含了.net运行时和IIS支持。

.NET Desktop运行时

运行Windows桌面应用。包含了.net运行时,不需要再单独安装。

阅读全文
 2023-02-25
kotlin、kotlin-plugin、gradle、kotlin-gradle-plugin关系

1、kotlin是基于JVM的编程语言,与Java类似,且可与Java互操作; 2、kotlin-plugin是IDEA和Android Studio的IDE(集成开发环境)支持插件; 3、gradle是构建工具,与AntMaven类似,用于代码到编译、测试、打包等; 4、kotlin-gradle-plugin是使用gradle构建kotlin项目必须添加的gradle插件。

下面详细介绍:

阅读全文
 2023-03-18
区分gradle三个不同层次的依赖

Gradle是一个非常灵活、强大的构建系统,但其概念也相对复杂,但只要抓住核心,做好区分,就不会觉得混乱。

下面的构建脚本,是否觉得难以理解:

buildscript {
    构建脚本依赖的仓库
    repositories {
        mavenCentral()
    }
    // 构建脚本依赖
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.0'
    }
}
repositories {
    mavenCentral()
    jcenter()
    google()
}
dependencies {
    implementation 'com.google.guava:guava:30.1-jre'
    testImplementation 'junit:junit:4.13.2'
}  
plugins {
      id 'com.android.application'
      id 'org.jetbrains.kotlin.jvm' version '1.5.10'
}

阅读全文
 2023-03-18
2行代码就能实现HTML自动化转图片!

我们构建组除了负责bk-ci插件开发,还负责监控使用构建平台的所有项目的打包流水线、质量检查流水线的执行情况。

最初,这些都是让实习生来手动查看质量流水线的执行情况、再做表,跟进、然后手动发到群里。

今年中,我在研究了bk-ci的API后,已经将其改为自动抓取和生成报表,但仅作为参考。 报表使用Velocity模版引擎生成,是一个HTML文件,然后通过邮件发送。

不过邮件的实效性并不强,有时候会积累很多封邮件,也不知处理了没有。

阅读全文