Cross Platform Compilation

Preface https://github.com/OpenIMSDK/Open-IM-Server/issues/432 Many places now have requirements for local adaptation of services. Generally, localized platforms provide an arm version of Linux cloud environment for us to deploy services, so it is necessary to build an arm version of the image. Build plan In the above issue, we describe the general construction ideas and solution steps. Let’s take a look at the construction plan. We take the most commonly used amd machine as an example to compile arm....

September 16, 2023 · 14 min · 2788 words · Xinwei Xiong, Me

Github Actions Advanced Techniques

Create actions **actions are individual tasks that can be combined to create jobs and custom workflows. You can create your own actions, or use and customize actions shared by the GitHub community. ** Actions can be created by writing custom code that interacts with your repository in any way you like, including integrating with GitHub’s API and any publicly available third-party API. You can write your own actions for use in workflows, or share the actions you build with the GitHub community....

September 16, 2023 · 44 min · 9236 words · Xinwei Xiong, Me

Openim Devops Design

DevOps DevOps 🔥 DevOps is a culture and methodology for software development and operations that aims to shorten the software development cycle and improve software quality through automation and collaboration. DevOps (a portmanteau of Development and Operations) is a A culture, movement or practice that values communication and cooperation between “software developers (Dev)” and “IT operations and maintenance technicians (Ops)”. By automating the “software delivery” and “architecture change” processes, we can build, test, and release software faster, more frequently, and more reliably....

September 16, 2023 · 14 min · 2919 words · Xinwei Xiong, Me

GoReleaser: Automate your software releases

The goal of GoReleaser is to automate much of the tedious work when releasing software, by using sensible defaults and making it simple for the most common use cases. Preparation: .goreleaser.yaml file: contains all configuration information. (For more information, see Customization) Clean working tree: Make sure the code is up to date and all changes have been committed. SemVer compliant version number (e.g. 10.21.34-prerelease+buildmeta) GoReleaser running steps: The operation of GoReleaser is mainly divided into the following four steps:...

September 16, 2023 · 51 min · 10670 words · Xiong Xinwei, Me

Openim Multi Process Management

111: OpenIM multi-process management strategy Main modules This article will start from the most basic single-process foreground operation of OpenIM, to the nohup background operation, to the system system process, and then to Supervisord, container management, and kubernetes health detection. Current issues Read: https://github.com/cubxxw/Open-IM-Server/blob/refactor/feat-enhance/scripts/install/openim-crontask.sh source code The current process management strategy before OpenIM is started in the background through nohup. The entire project is run by multiple processes, and now a reliable keep-alive mechanism is needed to quickly pull it up when the process crashes....

September 16, 2023 · 22 min · 4555 words · Xinwei Xiong, Me

About My Blog

Hello, I am Xiong Xinwei. In the river of time, I’m so honored to step into this significant moment of my senior year. More than just a student, I’m passionate about writing those pulsating codes. Hence, I became an avid follower of open source. Welcome to explore my digital realm—My GitHub. Here, you will witness my love for technology, my third-generation blog, and I hope it becomes the ultimate link for my conversation with the world....

September 14, 2023 · 2 min · 317 words · Xinwei Xiong, Me

About My Hugo teaching

Rebuild my blog (static) The enemy is back… It’s so difficult this time. When I was preparing my resume, I found that my blog was gone. My dearest blog nsddd.top, which I had accompanied for a year and was well-received, was sacrificed. Wuwuwuwu Don’t be impatient, don’t be impatient, learn a lesson, what is the first thing? I will definitely not use dynamic blogs anymore. I used workpress for my first blog in my freshman year....

September 12, 2023 · 14 min · 2812 words · Me

Openkf Multi Architecture Image

Automate Multi-Architecture Image Build for openkf and Push to Multiple Image Repositories https://github.com/openimsdk/openkf Description: To meet the requirements of a diverse set of users, we aim to automate the process of building the openkf Docker images for various architectures and push them to multiple image repositories seamlessly. Objective: Automatically build Docker images of openkf for linux/amd64 and linux/arm64 architectures. Push the images to Docker Hub, AliYun Docker Hub, and GitHub Container Registry....

September 1, 2023 · 2 min · 318 words · Me

Openim Remote Work Culture

Principles 0) Ownership & Leadership When you see issues with the team or project, don’t wait or endure. Speak up immediately, propose solutions, initiate a meeting yourself, and adjust promptly. Don’t suppress your concerns! “Every team member embodies the roles of both Owner and Leader. When issues arise, be proactive in pointing them out and offering solutions. Don’t just wait or stay silent.” 1) Initiative Everyone must take the initiative. Whether it’s about starting something or claiming a task, if you find yourself idle, proactively identify problems and areas of improvement....

July 13, 2023 · 5 min · 1062 words · Xinwei Xiong, Me

Advanced Githook Design

What to do if the community is not standardized As the COO of the OpenIM community, I am responsible for the communtiy and [GitHub configuration repository](https:/ /github.com/OpenIMSDK/.github) has been fully configured. And architect and design the entire OpenIM Makefile and CICD flows, as well as the log package, error codes, collaborative flows, contributor documents and community documents used by the entire OpenIM. There will always be some problems at this time, even if you think your Contributor Document is very awesome....

June 16, 2023 · 9 min · 1826 words · Xinwei Xiong, Me