To install cert-manager version 1.12, you can use the following steps. Note that the process might vary slightly based on your specific Kubernetes setup (e.g., cloud provider, managed Kubernetes service).

for more detail https://cert-manager.io/docs/installation/helm/

1. **Add the Jetstack Helm repository**:

   ```bash
   helm repo add jetstack https://charts.jetstack.io --force-update
   ```

2. **Update your Helm repositories**:

   ```bash
   helm repo update
   ```

3. **Install cert-manager CRDs (Custom Resource Definitions)**:
   
   ```bash
   kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.12.0/cert-manager.crds.yaml
   ```

4. **Install the cert-manager Helm chart**:

   ```bash
   helm install \
     cert-manager jetstack/cert-manager \
     --namespace cert-manager \
     --create-namespace \
     --version v1.12.0 \
     #--set installCRDs=true
   ```

   Replace `v1.5.0` with the version you want to install. The `--set installCRDs=true` flag ensures that the CRDs are installed along with the chart.

5. **Verify the installation**:

   After installation, verify that cert-manager is running correctly by checking the pods in the `cert-manager` namespace:

   ```bash
   kubectl get pods -n cert-manager
   ```

   You should see cert-manager pods running.

6. **(Optional) Upgrade an existing cert-manager installation**:

   If you already have cert-manager installed and want to upgrade it to version 1.5.0, you can use the following Helm command:

   ```bash
   helm upgrade \
     cert-manager jetstack/cert-manager \
     --namespace cert-manager \
     --version v1.5.0 \
     --set installCRDs=true
   ```

   Replace `v1.5.0` with the version you want to upgrade to.

This installation method assumes you're using Helm v3. If you're using Helm v2, the commands might differ slightly. Adjust the commands based on your specific setup and requirements.