


[php] How to use composer to automatically verify and obtain gitlab's private library at the same time
The main content of this article is about using composer to automatically verify and obtain the private library of gitlab at the same time. Interested friends can learn about it.
After recently purchasing Laravel’s nova, I need to make some modifications to its core code to facilitate sharing with other team members and to facilitate difference management after the nova official library is updated. Then hang the nova library in your own gitlab and reference it directly through composer.
Related recommendations: [composer tutorial]
Gitlab is full of private libraries. Composer access requires authentication. Enter the username/password during local testing. Authentication does not matter, but deployment on the production server is problematic. Since it is an automatic deployment, it must be fully automatic. After some trouble, composer can complete the verification by configuring GitLab's Private Token and obtain the private library without having to enter the username and password.
To facilitate the description of the operation process. Here we take the official package laravel/nova as an example. I put laravel/nova on my own gitlab, the path is https://git.papamk.com/xxx/nova, and set it as a private library. Our goal is that composer can directly obtain the package without entering a password.
Configuration process
1. Generate Private Token
On gitlab, find `Access in `User Settings` Tokens`, see the picture below:
⚠️⚠️⚠️: The generated token is only displayed once, remember to save it and use it later.
2. Configure composer’s authentication information
Edit ~/.composer/auth.json (If there is no such file, create it directly)
1 { 2 "bitbucket-oauth": {}, 3 "github-oauth": {}, 4 "gitlab-oauth": { 5 }, 6 "gitlab-token": { 7 "git.papamk.com": "" 8 }, 9 "http-basic": {},10 "gitlab-domains":["git.papamk.com"]11 }
Notes:
- Unless you are using gitlab.com, you should add the domain name of gitlab to gitlab-domains;
3. Edit composer .json
{ // ...省略其他部分 "repositories": [ { "type": "gitlab", "url": "https://git.papamk.com/xxx/nova" } ], "require": { // ...省略其他包 "laravel/nova": "dev-master", } }
Key points:
- type: must be gitlab
- Package name: official package name For laravel/nova, you still need to use laravel/nova here, not xxx/nova
Now you are done, run composer install or composer udpate to try.
Other issues
There may be a problem that the configuration is correct, but the package is read directly from the local cache. At this time, just delete ~/.composer/cache and try again.
Related tutorials: php from entry to proficiency
The above is the detailed content of [php] How to use composer to automatically verify and obtain gitlab's private library at the same time. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Composer provides advanced features, including: 1. Aliases: define convenient names for packages for repeated reference; 2. Scripts: execute custom commands when installing/updating packages, used to create database tables or compile resources; 3. Conflict resolution: use priorities Rules, satisfaction constraints, and package aliases resolve the different requirements of multiple packages for the same dependency version to avoid installation conflicts.

Answer: PHP microservices are deployed with HelmCharts for agile development and containerized with DockerContainer for isolation and scalability. Detailed description: Use HelmCharts to automatically deploy PHP microservices to achieve agile development. Docker images allow for rapid iteration and version control of microservices. The DockerContainer standard isolates microservices, and Kubernetes manages the availability and scalability of the containers. Use Prometheus and Grafana to monitor microservice performance and health, and create alarms and automatic repair mechanisms.

PHPCI/CD is a key practice in DevOps projects that automates the build, test, and deployment processes to improve development efficiency and software quality. A typical PHPCI/CD pipeline consists of the following stages: 1) Continuous Integration: Whenever the code changes, the code is automatically built and tested. 2) Continuous deployment: Speed up delivery by automatically deploying tested and integrated code to the production environment. By implementing the PHPCI/CD pipeline, you can increase development efficiency, improve software quality, shorten time to market, and improve reliability.

PHP code version control: There are two version control systems (VCS) commonly used in PHP development: Git: distributed VCS, where developers store copies of the code base locally to facilitate collaboration and offline work. Subversion: Centralized VCS, a unique copy of the code base is stored on a central server, providing more control. VCS helps teams track changes, collaborate and roll back to earlier versions.

There are three main technologies for visualizing data structures in PHP: Graphviz: an open source tool that can create graphical representations such as charts, directed acyclic graphs, and decision trees. D3.js: JavaScript library for creating interactive, data-driven visualizations, generating HTML and data from PHP, and then visualizing it on the client side using D3.js. ASCIIFlow: A library for creating textual representation of data flow diagrams, suitable for visualization of processes and algorithms.

Answer: Use PHPCI/CD to achieve rapid iteration, including setting up CI/CD pipelines, automated testing and deployment processes. Set up a CI/CD pipeline: Select a CI/CD tool, configure the code repository, and define the build pipeline. Automated testing: Write unit and integration tests and use testing frameworks to simplify testing. Practical case: Using TravisCI: install TravisCI, define the pipeline, enable the pipeline, and view the results. Implement continuous delivery: select deployment tools, define deployment pipelines, and automate deployment. Benefits: Improve development efficiency, reduce errors, and shorten delivery time.

Using Redis cache can greatly optimize the performance of PHP array paging. This can be achieved through the following steps: Install the Redis client. Connect to the Redis server. Create cache data and store each page of data into a Redis hash with the key "page:{page_number}". Get data from cache and avoid expensive operations on large arrays.

Summary: By integrating the PHPUnit unit testing framework and CI/CD pipeline, you can improve PHP code quality and accelerate software delivery. PHPUnit allows the creation of test cases to verify component functionality, and CI/CD tools such as GitLabCI and GitHubActions can automatically run these tests. Example: Validate the authentication controller with test cases to ensure the login functionality works as expected.
